FIX: use correct buf/len when re-starting send()

Fix a bug that manifested itself by the broker disconnecting the client
with an invalid_frame_end_marker error. The cause was when send()
returned less than the size of the buffer to be sent we weren't using
the correct parameters when restarting the send call.