Return to handler.cpp CVS log | Up to [Pegasus] / pegasus / src / AceExample / server |
File: [Pegasus] / pegasus / src / AceExample / server / Attic / handler.cpp
(download)
Revision: 1.1.1.1 (vendor branch), Sun Jan 14 19:50:22 2001 UTC (23 years, 5 months ago) by mike Branch: pegasus CVS Tags: version_1_01, version_0_99_1, version_0_99, version_0_97_3, version_0_97_2, version_0_97_1, version_0_97, version_0_96, version_0_95, version_0_8, version_0_79_4, test, stable_0_95, stable, pep_88, opengroup, merge_of_dev, mday-merge-start, mday-merge-pegasus/src/Pegasus/Server, mday-merge-pegasus/src/Pegasus/Common, mday-2-0-patches, main, dev_dead, dev, async_dispatcher, VERSION_2_1_RELEASE_HEAD, VERSION_2_1_RELEASE_BRANCH, VERSION_2_1_RELEASE, VERSION_2_1_1_RELEASE, VERSION_2_01_01, VERSION_2_00_RC_4, VERSION_2_00_RC_3, VERSION_2_00_RC_2, VERSION_2_00_RC_1, VERSION_2_00_BRANCH, VERSION_1_10, VERSION_1_09, VERSION_1_08, VERSION_1_07, TEST, STABLE, SNAPSHOT_1_04, RELEASE_2_3_0-msg-freeze, RELEASE_2_2_1-snapshot, RELEASE_2_2_0_0-release, RELEASE_2_2_0-root, RELEASE_2_2_0-branch, RELEASE_2_2-root, PRE_LICENSE_UPDATE_2003, PEGASUS_FC_VERSION_2_2, LOCAL_ASSOCPROV-ROOT, LOCAL_ASSOCPROV-BRANCH Changes since 1.1: +0 -0 lines Pegasus import |
#include "handler.h" #include "iostream.h" Handler::Handler(ACE_Reactor *reactor) { this->reactor(reactor); } Handler::~Handler() { cout << "Handler::~Handler()" << endl; } int Handler::open(void* argument) { cout << "Handler::open()" << endl; // Enable non-blocking I/O: peer().enable(ACE_NONBLOCK); // Invoke open() in base class; the object will be registered // to receive read events. This could be done here like this: // // ACE_Reactor::instance()->register_handler( // this, ACE_Event_Handler::READ_MASK); return BaseClass::open(argument); } int Handler::handle_input(ACE_HANDLE) { cout << "Handler::handle_input()" << endl; char buffer[1024]; int n = peer().recv(buffer, sizeof(buffer)); if (n == 0) { cout << "Remote side hung up" << endl; return -1; } cout << "read " << n << " bytes" << endl; while (n > 0) { cout << "[" << buffer << "]" << endl; peer().send(buffer, n); n = peer().recv(buffer, sizeof(buffer)); } return 0; } int Handler::handle_close(ACE_HANDLE handle, ACE_Reactor_Mask mask) { cout << "Handler::handle_close()" << endl; // Invoke handle_close() in base class; this object will be // destructed. return BaseClass::handle_close(handle, mask); }
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |