/* * blockingUDPTest.cpp * * Created on: Dec 28, 2010 * Author: Miha Vitorovic */ #include "remote.h" #include "blockingUDP.h" #include "logger.h" #include "hexDump.h" #include #include #include using namespace epics::pvAccess; using std::cout; using std::endl; using std::hex; using std::dec; class ContextImpl : public Context { public: ContextImpl() {} virtual ~ContextImpl() { } virtual Timer* getTimer() { return 0; } virtual TransportRegistry* getTransportRegistry() { return 0; } virtual Channel* getChannel(epics::pvAccess::pvAccessID) { return 0; } virtual Transport* getSearchTransport() { return 0; } virtual Configuration* getConfiguration() { return 0; } virtual void acquire() {} virtual void release() {} }; class DummyResponseHandler : public ResponseHandler { public: DummyResponseHandler(Context* context) : packets(0) { } virtual ~DummyResponseHandler() {} int getPackets() { return packets; } virtual void handleResponse(osiSockAddr* responseFrom, Transport* transport, int8 version, int8 command, int payloadSize, ByteBuffer* payloadBuffer); private: int packets; }; void DummyResponseHandler::handleResponse(osiSockAddr* responseFrom, Transport* transport, int8 version, int8 command, int payloadSize, ByteBuffer* payloadBuffer) { std::ostringstream os; cout<<"Received new UDP datagram["<ia, ipAddressStr, sizeof(ipAddressStr)); cout<<"From: "<get(payload, 0, dataCount); os<<"Payload ("<start(); cout<<"Waiting for 10 packets..."<