+ value_ptr= value;
+ read_length= 0;
+ to_read= (*value_length) + 2;
+ /* This is overkill */
+ while ((partial_length= recv(ptr->hosts[server_key].fd, value_ptr, to_read, 0)) > 0)
+ {
+ value_ptr+= partial_length;
+ read_length+= partial_length;
+ to_read-= partial_length;
+ if (read_length == (size_t)(*value_length + 2))
+ break;
+ }