Merge in dead UDP code.
authorBrian Aker <brian@tangent.org>
Thu, 5 Jan 2012 06:15:52 +0000 (22:15 -0800)
committerBrian Aker <brian@tangent.org>
Thu, 5 Jan 2012 06:15:52 +0000 (22:15 -0800)
libmemcached/io.cc

index 7a321adeed1f4ee7ca6a38b57b43f84b7595105e..ab98e4864aac9ff4024a09bde28833740ec37373 100644 (file)
@@ -131,7 +131,7 @@ static bool process_input_buffer(memcached_server_write_instance_st ptr)
    ** We might be able to process some of the response messages if we
    ** have a callback set up
  */
-  if (ptr->root->callbacks != NULL && ptr->root->flags.use_udp == false)
+  if (ptr->root->callbacks != NULL)
   {
     /*
      * We might have responses... try to read them out and fire
@@ -142,10 +142,8 @@ static bool process_input_buffer(memcached_server_write_instance_st ptr)
     memcached_set_processing_input((memcached_st *)ptr->root, true);
 
     char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
-    memcached_return_t error;
     memcached_st *root= (memcached_st *)ptr->root;
-    error= memcached_response(ptr, buffer, sizeof(buffer),
-                              &root->result);
+    memcached_return_t error= memcached_response(ptr, buffer, sizeof(buffer), &root->result);
 
     memcached_set_processing_input(root, false);
 
@@ -296,18 +294,6 @@ static bool io_flush(memcached_server_write_instance_st ptr,
 
   WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
 
-  // UDP Sanity check, make sure that we are not sending somthing too big
-  if (memcached_is_udp(ptr->root) and write_length > MAX_UDP_DATAGRAM_LENGTH)
-  {
-    error= memcached_set_error(*ptr, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT);
-    return false;
-  }
-
-  if (ptr->write_buffer_offset == 0 or (memcached_is_udp(ptr->root) and ptr->write_buffer_offset == UDP_DATAGRAM_HEADER_LENGTH))
-  {
-    return true;
-  }
-
   /* Looking for memory overflows */
 #if defined(DEBUG)
   if (write_length == MEMCACHED_MAX_BUFFER)
@@ -319,10 +305,6 @@ static bool io_flush(memcached_server_write_instance_st ptr,
   {
     WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
     WATCHPOINT_ASSERT(write_length > 0);
-    if (memcached_is_udp(ptr->root))
-    {
-      increment_udp_message_id(ptr);
-    }
 
     ssize_t sent_length= 0;
     WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
@@ -387,13 +369,6 @@ static bool io_flush(memcached_server_write_instance_st ptr,
       }
     }
 
-    if (memcached_is_udp(ptr->root) and size_t(sent_length) != write_length)
-    {
-      memcached_quit_server(ptr, true);
-      error= memcached_set_error(*ptr, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT);
-      return false;
-    }
-
     ptr->io_bytes_sent+= uint32_t(sent_length);
 
     local_write_ptr+= sent_length;
@@ -401,14 +376,7 @@ static bool io_flush(memcached_server_write_instance_st ptr,
   }
 
   WATCHPOINT_ASSERT(write_length == 0);
-  if (memcached_is_udp(ptr->root))
-  {
-    ptr->write_buffer_offset= UDP_DATAGRAM_HEADER_LENGTH;
-  }
-  else
-  {
-    ptr->write_buffer_offset= 0;
-  }
+  ptr->write_buffer_offset= 0;
 
   return true;
 }
@@ -421,6 +389,7 @@ memcached_return_t memcached_io_wait_for_write(memcached_server_write_instance_s
 memcached_return_t memcached_io_read(memcached_server_write_instance_st ptr,
                                      void *buffer, size_t length, ssize_t& nread)
 {
+  assert(memcached_is_udp(ptr->root) == false);
   assert_msg(ptr, "Programmer error, memcached_io_read() recieved an invalid memcached_server_write_instance_st"); // Programmer error
   char *buffer_ptr= static_cast<char *>(buffer);
 
@@ -535,6 +504,7 @@ memcached_return_t memcached_io_read(memcached_server_write_instance_st ptr,
 memcached_return_t memcached_io_slurp(memcached_server_write_instance_st ptr)
 {
   assert_msg(ptr, "Programmer error, invalid memcached_server_write_instance_st");
+  assert(memcached_is_udp(ptr->root) == false);
 
   if (ptr->fd == INVALID_SOCKET)
   {
@@ -592,6 +562,7 @@ static ssize_t _io_write(memcached_server_write_instance_st ptr,
                          const void *buffer, size_t length, bool with_flush)
 {
   WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
+  assert(memcached_is_udp(ptr->root) == false);
 
   size_t original_length= length;
   const char *buffer_ptr= static_cast<const char *>(buffer);
@@ -599,25 +570,9 @@ static ssize_t _io_write(memcached_server_write_instance_st ptr,
   while (length)
   {
     char *write_ptr;
-    size_t should_write;
-    size_t buffer_end;
-
-    if (memcached_is_udp(ptr->root))
-    {
-      //UDP does not support partial writes
-      buffer_end= MAX_UDP_DATAGRAM_LENGTH;
-      should_write= length;
-      if (ptr->write_buffer_offset + should_write > buffer_end)
-      {
-        return -1;
-      }
-    }
-    else
-    {
-      buffer_end= MEMCACHED_MAX_BUFFER;
-      should_write= buffer_end - ptr->write_buffer_offset;
-      should_write= (should_write < length) ? should_write : length;
-    }
+    size_t buffer_end= MEMCACHED_MAX_BUFFER;
+    size_t should_write= buffer_end -ptr->write_buffer_offset;
+    should_write= (should_write < length) ? should_write : length;
 
     write_ptr= ptr->write_buffer + ptr->write_buffer_offset;
     memcpy(write_ptr, buffer_ptr, should_write);
@@ -625,7 +580,7 @@ static ssize_t _io_write(memcached_server_write_instance_st ptr,
     buffer_ptr+= should_write;
     length-= should_write;
 
-    if (ptr->write_buffer_offset == buffer_end and memcached_is_udp(ptr->root) == false)
+    if (ptr->write_buffer_offset == buffer_end)
     {
       WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);