Fix Trond's email address.
[awesomized/libmemcached] / docs / memcached_set.pod
old mode 100755 (executable)
new mode 100644 (file)
index 6e962d3..13330dc
@@ -1,6 +1,6 @@
 =head1 NAME
 
-memcached_set, memcached_add, memcached_replace
+memcached_set, memcached_add, memcached_replace - Store value on server
 
 =head1 LIBRARY
 
@@ -10,93 +10,93 @@ C Client Library for memcached (libmemcached, -lmemcached)
 
   #include <memcached.h>
 
-  memcached_return
+  memcached_return_t
     memcached_set (memcached_st *ptr,
-                   char *key, size_t key_length, 
-                   char *value, size_t value_length, 
+                   const char *key, size_t key_length, 
+                   const char *value, size_t value_length, 
                    time_t expiration,
                    uint32_t flags);
 
-  memcached_return
+  memcached_return_t
     memcached_add (memcached_st *ptr,
-                   char *key, size_t key_length,
-                   char *value, size_t value_length, 
+                   const char *key, size_t key_length,
+                   const char *value, size_t value_length, 
                    time_t expiration,
                    uint32_t flags);
 
-  memcached_return
+  memcached_return_t
     memcached_replace (memcached_st *ptr,
-                       char *key, size_t key_length,
-                       char *value, size_t value_length, 
+                       const char *key, size_t key_length,
+                       const char *value, size_t value_length, 
                        time_t expiration,
                        uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_prepend(memcached_st *ptr, 
-                      char *key, size_t key_length,
-                      char *value, size_t value_length, 
+                      const char *key, size_t key_length,
+                      const char *value, size_t value_length, 
                       time_t expiration,
                       uint32_t flags)
 
-  memcached_return 
+  memcached_return_t 
     memcached_append(memcached_st *ptr, 
-                     char *key, size_t key_length,
-                      char *value, size_t value_length, 
+                     const char *key, size_t key_length,
+                      const char *value, size_t value_length, 
                       time_t expiration,
                       uint32_t flags)
-  memcached_return 
+  memcached_return_t 
     memcached_cas(memcached_st *ptr, 
-                  char *key, size_t key_length,
-                  char *value, size_t value_length, 
+                  const char *key, size_t key_length,
+                  const char *value, size_t value_length, 
                   time_t expiration,
                   uint32_t flags,
                   uint64_t cas);
 
-  memcached_return 
+  memcached_return_t 
     memcached_set_by_key(memcached_st *ptr, 
-                         char *master_key, size_t master_key_length, 
-                         char *key, size_t key_length, 
-                         char *value, size_t value_length, 
+                         const char *master_key, size_t master_key_length, 
+                         const char *key, size_t key_length, 
+                         const char *value, size_t value_length, 
                          time_t expiration,
                          uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_add_by_key(memcached_st *ptr, 
-                         char *master_key, size_t master_key_length,
-                         char *key, size_t key_length,
-                         char *value, size_t value_length, 
+                         const char *master_key, size_t master_key_length,
+                         const char *key, size_t key_length,
+                         const char *value, size_t value_length, 
                          time_t expiration,
                          uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_replace_by_key(memcached_st *ptr, 
-                             char *master_key, size_t master_key_length,
-                             char *key, size_t key_length,
-                             char *value, size_t value_length, 
+                             const char *master_key, size_t master_key_length,
+                             const char *key, size_t key_length,
+                             const char *value, size_t value_length, 
                              time_t expiration,
                              uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_prepend_by_key(memcached_st *ptr, 
-                             char *master_key, size_t master_key_length,
-                             char *key, size_t key_length,
-                             char *value, size_t value_length, 
+                             const char *master_key, size_t master_key_length,
+                             const char *key, size_t key_length,
+                             const char *value, size_t value_length, 
                              time_t expiration,
                              uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_append_by_key(memcached_st *ptr, 
-                            char *master_key, size_t master_key_length,
-                            char *key, size_t key_length,
-                            char *value, size_t value_length, 
+                            const char *master_key, size_t master_key_length,
+                            const char *key, size_t key_length,
+                            const char *value, size_t value_length, 
                             time_t expiration,
                             uint32_t flags);
 
-  memcached_return 
+  memcached_return_t 
     memcached_cas_by_key(memcached_st *ptr, 
-                         char *master_key, size_t master_key_length,
-                         char *key, size_t key_length,
-                         char *value, size_t value_length, 
+                         const char *master_key, size_t master_key_length,
+                         const char *key, size_t key_length,
+                         const char *value, size_t value_length, 
                          time_t expiration,
                          uint32_t flags,
                          uint64_t cas);
@@ -143,9 +143,27 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non-blocking IO is 
 the fastest way to store data on the server.
 
+All of the above functions are supported with the C<MEMCACHED_BEHAVIOR_USE_UDP>
+behavior enabled. But when using these operations with this behavior on, there 
+are limits to the size of the payload being sent to the server.  The reason for 
+these limits is that the Memcahed Server does not allow multi-datagram requests
+and the current server implementation sets a datagram size to 1400 bytes. Due 
+to protocol overhead, the actual limit of the user supplied data is less than 
+1400 bytes and depends on the protocol in use as well as the operation being 
+executed. When running with the binary protocol, C< MEMCACHED_BEHAVIOR_BINARY_PROTOCOL>, 
+the size of the key,value, flags and expiry combined may not exceed 1368 bytes. 
+When running with the ASCII protocol, the exact limit fluctuates depending on 
+which function is being executed and whether the function is a cas operation 
+or not. For non-cas ASCII set operations, there are at least 1335 bytes available 
+to split among the key, key_prefix, and value; for cas ASCII operations there are 
+at least 1318 bytes available to split among the key, key_prefix and value. If the
+total size of the command, including overhead, exceeds 1400 bytes, a C<MEMCACHED_WRITE_FAILURE>
+will be returned.
+
+
 =head1 RETURN
 
-All methods return a value of type C<memcached_return>.
+All methods return a value of type C<memcached_return_t>.
 On success the value will be C<MEMCACHED_SUCCESS>.
 Use memcached_strerror() to translate this value to a printable string.
 
@@ -155,7 +173,7 @@ legitmate error in the case of a collision.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR