Updated with Twitter's memcached_server_error() function.
[awesomized/libmemcached] / libmemcached / memcached_server.h
index cffc5e8077e6de3d77213d2e2a9e09ad657b7792..ec1014a61b1aa85f955305e676dcca3c35acae88 100644 (file)
@@ -21,7 +21,6 @@ struct memcached_server_st {
   unsigned int port;
   int cached_errno;
   int fd;
-  char *cached_server_error;
   uint32_t io_bytes_sent; /* # bytes sent since last read */
   uint32_t server_failure_counter;
   uint32_t weight;
@@ -30,6 +29,7 @@ struct memcached_server_st {
   uint8_t minor_version;
   memcached_connection type;
   char *read_ptr;
+  char *cached_server_error;
   size_t read_buffer_length;
   size_t read_data_length;
   size_t write_buffer_offset;
@@ -48,26 +48,43 @@ struct memcached_server_st {
 #define memcached_server_list(A) (A)->hosts
 #define memcached_server_response_count(A) (A)->cursor_active
 
+LIBMEMCACHED_API
 memcached_return memcached_server_cursor(memcached_st *ptr, 
                                          memcached_server_function *callback,
                                          void *context,
                                          unsigned int number_of_callbacks);
 
+LIBMEMCACHED_API
 memcached_server_st *memcached_server_by_key(memcached_st *ptr,  const char *key, 
                                              size_t key_length, memcached_return *error);
 
+LIBMEMCACHED_API
+const char *memcached_server_error(memcached_server_st *ptr);
+
+LIBMEMCACHED_API
+void memcached_server_error_reset(memcached_server_st *ptr);
+
 /* These should not currently be used by end users */
+/* TODO: Is the above comment valid? If so, how can we unit test these if they
+ * aren't exported. If not, we should remove the comment */
+LIBMEMCACHED_API
 memcached_server_st *memcached_server_create(memcached_st *memc, memcached_server_st *ptr);
 
+LIBMEMCACHED_API
 memcached_server_st *memcached_server_create_with(memcached_st *memc, memcached_server_st *host, 
                                                   const char *hostname, unsigned int port, 
                                                   uint32_t weight, memcached_connection type);
 
+LIBMEMCACHED_API
 void memcached_server_free(memcached_server_st *ptr);
+LIBMEMCACHED_API
 memcached_server_st *memcached_server_clone(memcached_server_st *clone, memcached_server_st *ptr);
-memcached_analysis_st *memcached_analyze(memcached_st *memc, memcached_stat_st *stat,
+LIBMEMCACHED_API
+memcached_analysis_st *memcached_analyze(memcached_st *memc, memcached_stat_st *memc_stat,
                                          memcached_return *error);
 
+LIBMEMCACHED_API
+memcached_return memcached_server_remove(memcached_server_st *st_ptr);
 
 #ifdef __cplusplus
 }