X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.cc;h=d2e40043dfaa1c958ae1e346ed8dc1dbacb6bd3a;hb=133c8ed7290daf0143bb14fba174be39996646a6;hp=defe234316adf3f8308f74c608253b6c4f885f8b;hpb=19fae5d41322f8230ed5e0697ec0ce51e1ccdeaa;p=m6w6%2Flibmemcached diff --git a/libmemcached/io.cc b/libmemcached/io.cc index defe2343..d2e40043 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -39,6 +39,13 @@ #include +void initialize_binary_request(memcached_server_write_instance_st server, protocol_binary_request_header& header) +{ + server->request_id++; + header.request.magic= PROTOCOL_BINARY_REQ; + header.request.opaque= htons(server->request_id); +} + enum memc_read_or_write { MEM_READ, MEM_WRITE @@ -280,7 +287,7 @@ static memcached_return_t io_wait(memcached_server_write_instance_st ptr, if (memcached_has_error(ptr)) { - return memcached_server_error_return(ptr); + return memcached_instance_error_return(ptr); } return memcached_set_error(*ptr, MEMCACHED_CONNECTION_FAILURE, MEMCACHED_AT, @@ -442,7 +449,7 @@ static memcached_return_t _io_fill(memcached_server_write_instance_st ptr) break; } - return memcached_server_error_return(ptr); + return memcached_instance_error_return(ptr); } else if (data_read == 0) { @@ -722,11 +729,11 @@ memcached_server_write_instance_st memcached_io_get_readable_server(memcached_st return instance; } - if (memcached_server_response_count(instance) > 0) + if (memcached_instance_response_count(instance) > 0) { - fds[host_index].events = POLLIN; - fds[host_index].revents = 0; - fds[host_index].fd = instance->fd; + fds[host_index].events= POLLIN; + fds[host_index].revents= 0; + fds[host_index].fd= instance->fd; ++host_index; } } @@ -736,10 +743,9 @@ memcached_server_write_instance_st memcached_io_get_readable_server(memcached_st /* We have 0 or 1 server with pending events.. */ for (uint32_t x= 0; x< memcached_server_count(memc); ++x) { - memcached_server_write_instance_st instance= - memcached_server_instance_fetch(memc, x); + memcached_server_write_instance_st instance= memcached_server_instance_fetch(memc, x); - if (memcached_server_response_count(instance) > 0) + if (memcached_instance_response_count(instance) > 0) { return instance; }