version 1.1, 2001/04/08 08:28:20
|
version 1.2, 2001/04/08 19:20:04
|
|
|
// Author: Michael E. Brasher | // Author: Michael E. Brasher |
// | // |
// $Log$ | // $Log$ |
|
// Revision 1.2 2001/04/08 19:20:04 mike |
|
// more TCP work |
|
// |
// Revision 1.1 2001/04/08 08:28:20 mike | // Revision 1.1 2001/04/08 08:28:20 mike |
// Added more windows channel implementation code. | // Added more windows channel implementation code. |
// | // |
|
|
| |
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/Channel.h> | #include <Pegasus/Common/Channel.h> |
|
#include <Pegasus/Common/Array.h> |
|
#include <Pegasus/Common/Selector.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
class PEGASUS_COMMON_LINKAGE WindowsChannel : public Channel |
class PEGASUS_COMMON_LINKAGE WindowsChannel |
|
: public Channel, public SelectorHandler |
{ | { |
public: | public: |
| |
|
|
virtual void disconnect(Channel* channel); | virtual void disconnect(Channel* channel); |
| |
private: | private: |
|
|
Selector* _selector; | Selector* _selector; |
}; | }; |
| |
class PEGASUS_COMMON_LINKAGE WindowsChannelAcceptor : public ChannelAcceptor |
class PEGASUS_COMMON_LINKAGE WindowsChannelAcceptor |
|
: public ChannelAcceptor, public SelectorHandler |
{ | { |
public: | public: |
| |
WindowsChannelAcceptor(ChannelHandlerFactory* factory); |
WindowsChannelAcceptor( |
|
ChannelHandlerFactory* factory, |
|
Selector* selector); |
| |
virtual ~WindowsChannelAcceptor(); | virtual ~WindowsChannelAcceptor(); |
| |
virtual void bind(const char* bindString); |
virtual Boolean bind(const char* address); |
|
|
|
virtual Boolean handle(Sint32 desc, Uint32 reasons); |
|
|
|
private: |
| |
virtual void accept(Channel* channel); |
Selector* _selector; |
|
Sint32 _desc; |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |