From 71b9dfec6d076010238c1c03c2e3df5dbe83ffb5 Mon Sep 17 00:00:00 2001 From: miha_vitorovic Date: Fri, 7 Jan 2011 09:53:33 +0100 Subject: [PATCH] TCP transport now basically works. Still some bugs to squash. --- pvAccessApp/remote/blockingTCPTransport.cpp | 16 ---------------- testApp/remote/Makefile | 9 +++++++++ testApp/remote/testBlockingTCPClnt.cpp | 15 +++++++++++---- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pvAccessApp/remote/blockingTCPTransport.cpp b/pvAccessApp/remote/blockingTCPTransport.cpp index f5ecb3f..836a055 100644 --- a/pvAccessApp/remote/blockingTCPTransport.cpp +++ b/pvAccessApp/remote/blockingTCPTransport.cpp @@ -417,11 +417,6 @@ namespace epics { void BlockingTCPTransport::processReadCached(bool nestedCall, ReceiveStage inStage, int requiredBytes, bool addToBuffer) { - // TODO remove debug - errlogSevPrintf(errlogInfo, - "processReadCached(%d, %d, %d, %d), _stage: %d", - nestedCall, inStage, requiredBytes, addToBuffer, _stage); - try { while(!_closed) { if(_stage==READ_FROM_SOCKET||inStage!=NONE) { @@ -458,11 +453,6 @@ namespace epics { int requiredPosition = (currentStartPosition +requiredBytes); - - // TODO remove debug - errlogSevPrintf(errlogInfo, - "requredPos:%d, buffer->pos:%d", - requiredPosition, _socketBuffer->getPosition()); while(_socketBuffer->getPosition()put(readBuffer, 0, bytesRead); - // TODO remove debug - if(bytesRead>0) errlogSevPrintf( - errlogInfo, - "***!!! got %d bytes of %d (reqPos=%d)!!!***", - bytesRead, requiredBytes, requiredPosition); - if(bytesRead<0) { // error (disconnect, end-of-stream) detected close(true); diff --git a/testApp/remote/Makefile b/testApp/remote/Makefile index 620b69c..77979b5 100644 --- a/testApp/remote/Makefile +++ b/testApp/remote/Makefile @@ -26,6 +26,15 @@ PROD_HOST += testChannelSearchManager testChannelSearchManager_SRCS += testChannelSearchManager.cpp testChannelSearchManager_LIBS += pvData pvAccess Com +PROD_HOST += testBlockingTCPSrv +testBlockingTCPSrv_SRCS += testBlockingTCPSrv.cpp +testBlockingTCPSrv_LIBS += pvData pvAccess Com + +PROD_HOST += testBlockingTCPClnt +testBlockingTCPClnt_SRCS += testBlockingTCPClnt.cpp +testBlockingTCPClnt_LIBS += pvData pvAccess Com + + include $(TOP)/configure/RULES #---------------------------------------- # ADD RULES AFTER THIS LINE diff --git a/testApp/remote/testBlockingTCPClnt.cpp b/testApp/remote/testBlockingTCPClnt.cpp index 32c7c29..8218dfa 100644 --- a/testApp/remote/testBlockingTCPClnt.cpp +++ b/testApp/remote/testBlockingTCPClnt.cpp @@ -29,14 +29,19 @@ using std::sscanf; class ContextImpl : public Context { public: ContextImpl() : - _tr(new TransportRegistry()), - _timer(new Timer("client thread", lowPriority)) {} + _tr(new TransportRegistry()), _timer(new Timer("client thread", + lowPriority)) { + } virtual ~ContextImpl() { delete _tr; delete _timer; } - virtual Timer* getTimer() { return _timer; } - virtual TransportRegistry* getTransportRegistry() { return _tr; } + virtual Timer* getTimer() { + return _timer; + } + virtual TransportRegistry* getTransportRegistry() { + return _tr; + } private: TransportRegistry* _tr; Timer* _timer; @@ -47,6 +52,8 @@ public: virtual void handleResponse(osiSockAddr* responseFrom, Transport* transport, int8 version, int8 command, int payloadSize, ByteBuffer* payloadBuffer) { + + if(command==CMD_CONNECTION_VALIDATION) transport->verified(); } };