Return to handler.cpp CVS log | Up to [Pegasus] / pegasus / src / AceExample / client |
File: [Pegasus] / pegasus / src / AceExample / client / Attic / handler.cpp
(download)
Revision: 1.2, Wed Apr 11 03:54:02 2001 UTC (23 years, 2 months ago) by mike Branch: MAIN 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_79_4, test, stable_0_95, stable, pep_88, 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: +6 -0 lines More examples |
#include <iostream> #include "handler.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); int result = BaseClass::open(argument); if (result != 0) { cerr << "BaseClass::open() failed" << endl; return result; } // Write mesasge: const char MESSAGE[] = "Hello World\n"; peer().send_n(MESSAGE, sizeof(MESSAGE)); return 0; } 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; } while (n > 0) { cout << "[" << buffer << "]" << endl; n = peer().recv(buffer, sizeof(buffer)); } return 0; } int Handler::handle_output(ACE_HANDLE) { cout << "Handler::handle_output()" << endl; 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 |