Updated memcached.h so that it contains only its structure.
authorBrian Aker <brian@gaz>
Tue, 22 Dec 2009 06:58:44 +0000 (22:58 -0800)
committerBrian Aker <brian@gaz>
Tue, 22 Dec 2009 06:58:44 +0000 (22:58 -0800)
libmemcached/analyze.c
libmemcached/analyze.h [new file with mode: 0644]
libmemcached/auto.h [new file with mode: 0644]
libmemcached/constants.h
libmemcached/include.am
libmemcached/memcached.h
libmemcached/server.h
libmemcached/stats.h [new file with mode: 0644]

index 79ea17b96fcfe69248f2620017ea4d2fad4ce902..de628a72a75d5604dc19349d00fc9517e0258d43 100644 (file)
@@ -79,6 +79,9 @@ memcached_analysis_st *memcached_analyze(memcached_st *memc,
     return NULL;
   }
 
+  result->options.allocated= true;
+  result->root= memc;
+
   for (x= 0; x < server_count; x++)
   {
     calc_largest_consumption(result, x, memc_stat[x].bytes);
@@ -98,3 +101,9 @@ memcached_analysis_st *memcached_analyze(memcached_st *memc,
 
   return result;
 }
+
+void memcached_analyze_free(memcached_analysis_st *ptr)
+{
+  if (ptr->options.allocated)
+    free(ptr);
+}
diff --git a/libmemcached/analyze.h b/libmemcached/analyze.h
new file mode 100644 (file)
index 0000000..3323e85
--- /dev/null
@@ -0,0 +1,48 @@
+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license.  See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary: Change the behavior of the memcached connection.
+ *
+ */
+
+#ifndef __MEMCACHED_ANALYZE_H__
+#define __MEMCACHED_ANALYZE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+struct memcached_analysis_st {
+  struct {
+    bool allocated:1;
+  } options;
+  memcached_st *root;
+  uint32_t average_item_size;
+  uint32_t longest_uptime;
+  uint32_t least_free_server;
+  uint32_t most_consumed_server;
+  uint32_t oldest_server;
+  double pool_hit_ratio;
+  uint64_t most_used_bytes;
+  uint64_t least_remaining_bytes;
+};
+
+
+LIBMEMCACHED_API
+memcached_analysis_st *memcached_analyze(memcached_st *memc,
+                                         memcached_stat_st *memc_stat,
+                                         memcached_return_t *error);
+
+LIBMEMCACHED_API
+void memcached_analyze_free(memcached_analysis_st *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MEMCACHED_ANALYZE_H__ */
diff --git a/libmemcached/auto.h b/libmemcached/auto.h
new file mode 100644 (file)
index 0000000..c80d0bd
--- /dev/null
@@ -0,0 +1,85 @@
+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license.  See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary: Change the behavior of the memcached connection.
+ *
+ */
+
+#ifndef __MEMCACHED_AUTO_H__
+#define __MEMCACHED_AUTO_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+LIBMEMCACHED_API
+memcached_return_t memcached_increment(memcached_st *ptr,
+                                     const char *key, size_t key_length,
+                                     uint32_t offset,
+                                     uint64_t *value);
+LIBMEMCACHED_API
+memcached_return_t memcached_decrement(memcached_st *ptr,
+                                     const char *key, size_t key_length,
+                                     uint32_t offset,
+                                     uint64_t *value);
+
+LIBMEMCACHED_API
+memcached_return_t memcached_increment_by_key(memcached_st *ptr,
+                                            const char *master_key, size_t master_key_length,
+                                            const char *key, size_t key_length,
+                                            uint64_t offset,
+                                            uint64_t *value);
+
+LIBMEMCACHED_API
+memcached_return_t memcached_decrement_by_key(memcached_st *ptr,
+                                            const char *master_key, size_t master_key_length,
+                                            const char *key, size_t key_length,
+                                            uint64_t offset,
+                                            uint64_t *value);
+
+LIBMEMCACHED_API
+memcached_return_t memcached_increment_with_initial(memcached_st *ptr,
+                                                  const char *key,
+                                                  size_t key_length,
+                                                  uint64_t offset,
+                                                  uint64_t initial,
+                                                  time_t expiration,
+                                                  uint64_t *value);
+LIBMEMCACHED_API
+memcached_return_t memcached_decrement_with_initial(memcached_st *ptr,
+                                                  const char *key,
+                                                  size_t key_length,
+                                                  uint64_t offset,
+                                                  uint64_t initial,
+                                                  time_t expiration,
+                                                  uint64_t *value);
+LIBMEMCACHED_API
+memcached_return_t memcached_increment_with_initial_by_key(memcached_st *ptr,
+                                                         const char *master_key,
+                                                         size_t master_key_length,
+                                                         const char *key,
+                                                         size_t key_length,
+                                                         uint64_t offset,
+                                                         uint64_t initial,
+                                                         time_t expiration,
+                                                         uint64_t *value);
+LIBMEMCACHED_API
+memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *ptr,
+                                                         const char *master_key,
+                                                         size_t master_key_length,
+                                                         const char *key,
+                                                         size_t key_length,
+                                                         uint64_t offset,
+                                                         uint64_t initial,
+                                                         time_t expiration,
+                                                         uint64_t *value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MEMCACHED_AUTO_H__ */
index 980a32bfec1657ce153b3215214a670cea89bce3..5c704027b925eac8a45dccabdaf791dd27b02d15 100644 (file)
@@ -1,5 +1,5 @@
 /* LibMemcached
- * Copyright (C) 2006-2009 Brian Aker 
+ * Copyright (C) 2006-2009 Brian Aker
  * All rights reserved.
  *
  * Use and distribution licensed under the BSD license.  See
@@ -26,6 +26,8 @@
 #define MEMCACHED_CONTINUUM_ADDITION 10 /* How many extra slots we should build for in the continuum */
 #define MEMCACHED_PREFIX_KEY_MAX_SIZE 128
 #define MEMCACHED_EXPIRATION_NOT_ADD 0xffffffffU
+#define MEMCACHED_VERSION_STRING_LENGTH 24
+
 
 typedef enum {
   MEMCACHED_SUCCESS,
index d740444301150136c90dfadcc3dbd8c8b9f034f9..481329e6f78507be055364de9f4ed1256ec45d68 100644 (file)
@@ -20,6 +20,8 @@ noinst_HEADERS+= \
        libmemcached/protocol/binary_handler.h
 
 nobase_pkginclude_HEADERS+= \
+       libmemcached/analyze.h \
+       libmemcached/auto.h \
        libmemcached/behavior.h \
        libmemcached/callback.h \
        libmemcached/constants.h \
@@ -34,6 +36,7 @@ nobase_pkginclude_HEADERS+= \
        libmemcached/protocol_handler.h \
        libmemcached/result.h \
        libmemcached/server.h \
+       libmemcached/stats.h \
        libmemcached/storage.h \
        libmemcached/string.h \
        libmemcached/types.h \
index 47968139f0acdd96c2e14ff4fc5cef75c07a37ca..95592a487490d85a7531123adb716a48a016c98c 100644 (file)
 #include <libmemcached/constants.h>
 #include <libmemcached/types.h>
 #include <libmemcached/string.h>
+#include <libmemcached/stats.h>
 // Everything above this line must be in the order specified.
+#include <libmemcached/analyze.h>
+#include <libmemcached/auto.h>
 #include <libmemcached/behavior.h>
 #include <libmemcached/callback.h>
 #include <libmemcached/dump.h>
 extern "C" {
 #endif
 
-#define MEMCACHED_VERSION_STRING_LENGTH 24
-
-struct memcached_analysis_st {
-  uint32_t average_item_size;
-  uint32_t longest_uptime;
-  uint32_t least_free_server;
-  uint32_t most_consumed_server;
-  uint32_t oldest_server;
-  double pool_hit_ratio;
-  uint64_t most_used_bytes;
-  uint64_t least_remaining_bytes;
-};
-
-struct memcached_stat_st {
-  uint32_t connection_structures;
-  uint32_t curr_connections;
-  uint32_t curr_items;
-  uint32_t pid;
-  uint32_t pointer_size;
-  uint32_t rusage_system_microseconds;
-  uint32_t rusage_system_seconds;
-  uint32_t rusage_user_microseconds;
-  uint32_t rusage_user_seconds;
-  uint32_t threads;
-  uint32_t time;
-  uint32_t total_connections;
-  uint32_t total_items;
-  uint32_t uptime;
-  uint64_t bytes;
-  uint64_t bytes_read;
-  uint64_t bytes_written;
-  uint64_t cmd_get;
-  uint64_t cmd_set;
-  uint64_t evictions;
-  uint64_t get_hits;
-  uint64_t get_misses;
-  uint64_t limit_maxbytes;
-  char version[MEMCACHED_VERSION_STRING_LENGTH];
-};
-
 struct memcached_st {
   struct {
     bool is_allocated:1;
@@ -161,76 +124,6 @@ memcached_st *memcached_clone(memcached_st *clone, memcached_st *ptr);
 LIBMEMCACHED_API
 memcached_return_t memcached_delete(memcached_st *ptr, const char *key, size_t key_length,
                                   time_t expiration);
-LIBMEMCACHED_API
-memcached_return_t memcached_increment(memcached_st *ptr,
-                                     const char *key, size_t key_length,
-                                     uint32_t offset,
-                                     uint64_t *value);
-LIBMEMCACHED_API
-memcached_return_t memcached_decrement(memcached_st *ptr,
-                                     const char *key, size_t key_length,
-                                     uint32_t offset,
-                                     uint64_t *value);
-
-LIBMEMCACHED_API
-memcached_return_t memcached_increment_by_key(memcached_st *ptr,
-                                            const char *master_key, size_t master_key_length,
-                                            const char *key, size_t key_length,
-                                            uint64_t offset,
-                                            uint64_t *value);
-
-LIBMEMCACHED_API
-memcached_return_t memcached_decrement_by_key(memcached_st *ptr,
-                                            const char *master_key, size_t master_key_length,
-                                            const char *key, size_t key_length,
-                                            uint64_t offset,
-                                            uint64_t *value);
-
-LIBMEMCACHED_API
-memcached_return_t memcached_increment_with_initial(memcached_st *ptr,
-                                                  const char *key,
-                                                  size_t key_length,
-                                                  uint64_t offset,
-                                                  uint64_t initial,
-                                                  time_t expiration,
-                                                  uint64_t *value);
-LIBMEMCACHED_API
-memcached_return_t memcached_decrement_with_initial(memcached_st *ptr,
-                                                  const char *key,
-                                                  size_t key_length,
-                                                  uint64_t offset,
-                                                  uint64_t initial,
-                                                  time_t expiration,
-                                                  uint64_t *value);
-LIBMEMCACHED_API
-memcached_return_t memcached_increment_with_initial_by_key(memcached_st *ptr,
-                                                         const char *master_key,
-                                                         size_t master_key_length,
-                                                         const char *key,
-                                                         size_t key_length,
-                                                         uint64_t offset,
-                                                         uint64_t initial,
-                                                         time_t expiration,
-                                                         uint64_t *value);
-LIBMEMCACHED_API
-memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *ptr,
-                                                         const char *master_key,
-                                                         size_t master_key_length,
-                                                         const char *key,
-                                                         size_t key_length,
-                                                         uint64_t offset,
-                                                         uint64_t initial,
-                                                         time_t expiration,
-                                                         uint64_t *value);
-LIBMEMCACHED_API
-void memcached_stat_free(memcached_st *, memcached_stat_st *);
-
-LIBMEMCACHED_API
-memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return_t *error);
-
-LIBMEMCACHED_API
-memcached_return_t memcached_stat_servername(memcached_stat_st *memc_stat, char *args,
-                                             const char *hostname, in_port_t port);
 
 LIBMEMCACHED_API
 memcached_return_t memcached_flush(memcached_st *ptr, time_t expiration);
index 0e38fdd1e488a33e5e32041c9158ce77503b805e..66a23a56f28371adae5407d4b5f934ef866447be 100644 (file)
@@ -92,11 +92,6 @@ LIBMEMCACHED_API
 memcached_server_st *memcached_server_clone(memcached_server_st *clone,
                                             memcached_server_st *ptr);
 
-LIBMEMCACHED_API
-memcached_analysis_st *memcached_analyze(memcached_st *memc,
-                                         memcached_stat_st *memc_stat,
-                                         memcached_return_t *error);
-
 LIBMEMCACHED_API
 memcached_return_t memcached_server_remove(memcached_server_st *st_ptr);
 
diff --git a/libmemcached/stats.h b/libmemcached/stats.h
new file mode 100644 (file)
index 0000000..79f7e6c
--- /dev/null
@@ -0,0 +1,60 @@
+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license.  See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary: Change the behavior of the memcached connection.
+ *
+ */
+
+#ifndef __MEMCACHED_STATS_H__
+#define __MEMCACHED_STATS_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct memcached_stat_st {
+  uint32_t connection_structures;
+  uint32_t curr_connections;
+  uint32_t curr_items;
+  uint32_t pid;
+  uint32_t pointer_size;
+  uint32_t rusage_system_microseconds;
+  uint32_t rusage_system_seconds;
+  uint32_t rusage_user_microseconds;
+  uint32_t rusage_user_seconds;
+  uint32_t threads;
+  uint32_t time;
+  uint32_t total_connections;
+  uint32_t total_items;
+  uint32_t uptime;
+  uint64_t bytes;
+  uint64_t bytes_read;
+  uint64_t bytes_written;
+  uint64_t cmd_get;
+  uint64_t cmd_set;
+  uint64_t evictions;
+  uint64_t get_hits;
+  uint64_t get_misses;
+  uint64_t limit_maxbytes;
+  char version[MEMCACHED_VERSION_STRING_LENGTH];
+};
+
+LIBMEMCACHED_API
+void memcached_stat_free(memcached_st *, memcached_stat_st *);
+
+LIBMEMCACHED_API
+memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return_t *error);
+
+LIBMEMCACHED_API
+memcached_return_t memcached_stat_servername(memcached_stat_st *memc_stat, char *args,
+                                             const char *hostname, in_port_t port);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MEMCACHED_STATS_H__ */