X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.h;h=af51506593c71ada92eb20a3675e0f52c94aca1d;hb=1d8231fc194a56976c5bb14a75ff548ef5440191;hp=03d63b5585b0ecfc708612dcf5367a1325ba9792;hpb=7c7750f02368b570353ea109f23a0ea26d226e02;p=awesomized%2Flibmemcached diff --git a/libmemcached/io.h b/libmemcached/io.h index 03d63b55..af515065 100644 --- a/libmemcached/io.h +++ b/libmemcached/io.h @@ -32,34 +32,51 @@ extern "C" { #define generate_udp_request_thread_id(A) (A) << UDP_REQUEST_ID_MSG_SIG_DIGITS #define UDP_REQUEST_ID_MAX_THREAD_ID get_thread_id_from_request_id(0xFFFF) -struct udp_datagram_header_st { +struct udp_datagram_header_st +{ uint16_t request_id; uint16_t sequence_number; uint16_t num_datagrams; uint16_t reserved; }; +LIBMEMCACHED_LOCAL ssize_t memcached_io_write(memcached_server_st *ptr, const void *buffer, size_t length, char with_flush); + +LIBMEMCACHED_LOCAL void memcached_io_reset(memcached_server_st *ptr); + +LIBMEMCACHED_LOCAL memcached_return_t memcached_io_read(memcached_server_st *ptr, void *buffer, size_t length, ssize_t *nread); + /* Read a line (terminated by '\n') into the buffer */ +LIBMEMCACHED_LOCAL memcached_return_t memcached_io_readline(memcached_server_st *ptr, char *buffer_ptr, size_t size); + +LIBMEMCACHED_LOCAL memcached_return_t memcached_io_close(memcached_server_st *ptr); + /* Read n bytes of data from the server and store them in dta */ -memcached_return_t memcached_safe_read(memcached_server_st *ptr, - void *dta, +LIBMEMCACHED_LOCAL +memcached_return_t memcached_safe_read(memcached_server_st *ptr, + void *dta, size_t size); + /* Read a single response from the server */ +LIBMEMCACHED_LOCAL memcached_return_t memcached_read_one_response(memcached_server_st *ptr, char *buffer, size_t buffer_length, memcached_result_st *result); + +LIBMEMCACHED_LOCAL memcached_return_t memcached_io_init_udp_header(memcached_server_st *ptr, uint16_t thread_id); +LIBMEMCACHED_LOCAL memcached_server_st *memcached_io_get_readable_server(memcached_st *memc); #endif /* BUILDING_LIBMEMCACHED */