📄 rpceventhandler.h
字号:
/* RpcEventHandler *//* Copyright (c) 1999 Wind River Systems, Inc. *//*modification history--------------------01l,03aug01,dbs remove usage of Thread class01k,26jun00,dbs implement presentation context IDs01j,30jul99,aim added thread pooling01i,09jul99,dbs use new filenames01h,07jul99,aim added ostream operator<<01g,28jun99,dbs add channelId() method01f,24jun99,dbs add authn checking01e,24jun99,dbs move authn into new class01d,18jun99,aim set data rep on outgoing packets01c,08jun99,aim rework01b,08jun99,aim now uses NRpcPdu01a,27may99,aim created*/#ifndef __INCRpcEventHandler_h#define __INCRpcEventHandler_h#include "SvcHandler.h"#include "SockStream.h"#include "RpcPdu.h"#include "ntlmssp.h"#include <iostream>class Reactor;class RpcDispatcher;class ThreadPool;class RpcIfServer;class RpcEventHandler : public SvcHandler<SockStream> { public: typedef SvcHandler<SockStream> super; virtual ~RpcEventHandler (); RpcEventHandler (Reactor* r); RpcEventHandler ( Reactor* reactor, RpcDispatcher* dispatcher ); virtual int handleInput (REACTOR_HANDLE); virtual int open (void* = 0); virtual int close (u_long flags = 0); int channelId () const; RpcIfServer* acceptorGet () const; RpcIfServer* acceptorSet (RpcIfServer*); const INETSockAddr& hostAddr (); const INETSockAddr& peerAddr (); friend ostream& operator<< (ostream&, const RpcEventHandler&); private: typedef STL_MAP(USHORT, IID) PresCtxMap; RpcPdu* m_pdu; INETSockAddr m_hostAddr; INETSockAddr m_peerAddr; RpcDispatcher* m_dispatcher; int m_creatorTaskId; RpcIfServer* m_acceptor; PresCtxMap m_presCtxMap; int reply (const RpcPdu& pdu, RpcPdu& replyPdu); int sendPdu (RpcPdu&); int process (); int dispatchPdu (const RpcPdu& pdu); int dispatchBind (const RpcPdu& pdu); int dispatchRequest (const RpcPdu& pdu); int dispatchAuth3 (const RpcPdu&); int concurrency (); ThreadPool* RpcEventHandler::threadPool (); // unsupported RpcEventHandler (const RpcEventHandler& other); RpcEventHandler& operator= (const RpcEventHandler& rhs); };#endif // __INCRpcEventHandler_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -