*/
memmove(instance->read_buffer, instance->read_ptr, instance->read_buffer_length);
instance->read_ptr= instance->read_buffer;
- instance->read_data_length= instance->read_buffer_length;
}
/* There is room in the buffer, try to fill it! */
/* Just try a single read to grab what's available */
ssize_t nr;
if ((nr= ::recv(instance->fd,
- instance->read_ptr + instance->read_data_length,
- MEMCACHED_MAX_BUFFER - instance->read_data_length,
+ instance->read_ptr + instance->read_buffer_length,
+ MEMCACHED_MAX_BUFFER - instance->read_buffer_length,
MSG_NOSIGNAL)) <= 0)
{
if (nr == 0)
}
else // We read data, append to our read buffer
{
- instance->read_data_length+= size_t(nr);
instance->read_buffer_length+= size_t(nr);
return true;
case ENOTCONN: // Programmer Error
WATCHPOINT_ASSERT(0);
+ // fall through
case ENOTSOCK:
WATCHPOINT_ASSERT(0);
+ // fall through
case EBADF:
assert_msg(instance->fd != INVALID_SOCKET, "Programmer error, invalid socket");
/* fall through */
} while (data_read <= 0);
instance->io_bytes_sent= 0;
- instance->read_data_length= (size_t) data_read;
instance->read_buffer_length= (size_t) data_read;
instance->read_ptr= instance->read_buffer;
/* fall through */
case ENOTCONN: // Programmer Error
- assert(0);
case ENOTSOCK:
assert(0);
+ /* fall through */
case EBADF:
assert_msg(instance->fd != INVALID_SOCKET, "Invalid socket state");
/* fall through */