From b290c2eb194167b4b44f189c2196b84282413491 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Mon, 11 Aug 2014 19:47:15 +0100 Subject: [PATCH] some more fixes --- include/Makefile.am | 3 ++- src/cep_buffer_read.c | 8 +++++--- src/cep_write_buffered.c | 7 +++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/Makefile.am b/include/Makefile.am index 6134fe5..115c5e6 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,4 +1,5 @@ -nobase_include_HEADERS = tr/comm_end_point.h \ +nobase_include_HEADERS = trcomm.h \ + tr/comm_end_point.h \ tr/comm_manager.h \ tr/comm_manager_poll.h \ tr/connect_entry_point.h \ diff --git a/src/cep_buffer_read.c b/src/cep_buffer_read.c index 7b46698..2a07654 100644 --- a/src/cep_buffer_read.c +++ b/src/cep_buffer_read.c @@ -28,14 +28,16 @@ int cepBufferedRead(TR_CommEndPoint this) { - TR_RemoteData data = TR_socketRecv(this->transport); + TR_RemoteData data = TR_socketRecv(this->transport, this->read_chunk_size); if (! data) return FALSE; while (data) { - TR_cepAppendReadData(data); - data = TR_socketRecv(this->transport); + TR_cepAppendReadData(this, data); + data = TR_socketRecv(this->transport, this->read_chunk_size); } + + return TRUE; } // vim: set ts=4 sw=4: diff --git a/src/cep_write_buffered.c b/src/cep_write_buffered.c index 734ee7c..f124712 100644 --- a/src/cep_write_buffered.c +++ b/src/cep_write_buffered.c @@ -26,7 +26,7 @@ #include "tr/comm_end_point.h" int -cepBufferedRead(TR_CommEndPoint this) +cepWriteBuffered(TR_CommEndPoint this) { TR_RemoteData data = TR_cepNextWriteData(this); int send = 0; @@ -34,11 +34,14 @@ cepBufferedRead(TR_CommEndPoint this) while (data) { int current_send = TR_socketSend(this->transport, data); + send += current_send; // TODO if nothing was send put it back into the queue.. // and stop loop. (This was a close.) - data = TR_socketRecv(this->transport); + data = TR_cepNextWriteData(this); } + + return TRUE; } // vim: set ts=4 sw=4: