32 #ifndef _ESN_SESSION_H_
33 #define _ESN_SESSION_H_
37 #include <boost/shared_ptr.hpp>
38 #include <boost/weak_ptr.hpp>
40 #include "CommonData.h"
60 virtual void Open() = 0;
65 virtual void Close(
bool rightnow =
true) = 0;
75 virtual void Write(boost::shared_ptr<IoBuffer> data) = 0;
81 virtual void Write(
const char* buf,
int bufsize) = 0;
86 virtual void Write(
void* data) = 0;
96 virtual void WriteBuffer(boost::shared_ptr<IoBuffer> data) = 0;
101 virtual void Broadcast(boost::shared_ptr<IoBuffer> data) = 0;
117 virtual int GetSessions(std::vector< boost::shared_ptr<Session> > & sessions) = 0;
130 virtual bool TestIdle(
int idletype,
int idletime) = 0;
135 virtual int GetId() = 0;
140 virtual void SetId(
int id) = 0;
174 virtual boost::shared_ptr<IoFilter>
GetIoFilter() = 0;
179 virtual boost::shared_ptr<IoHandler>
GetIoHandler() = 0;
190 virtual boost::shared_ptr<IoBuffer>
GetFreeBuffer(
int bufsize) = 0;
195 virtual void TakeBack(boost::shared_ptr<IoBuffer> buf) = 0;
200 virtual void TakeBack(boost::shared_ptr<Buffer> buf) = 0;
206 virtual boost::shared_ptr<IoBuffer>
EncodeBuffer(
void* data) = 0;
212 virtual void*
DecodeBuffer(boost::shared_ptr<IoBuffer> data) = 0;
217 virtual bool HasSsl() = 0;
227 virtual CommonDataPtr
GetData() = 0;
275 typedef boost::shared_ptr<Session> SessionPtr;
276 typedef boost::weak_ptr<Session> SessionRef;
281 #endif // _ESN_SESSION_H_
virtual CommonDataPtr GetData()=0
virtual CommonDataPtr GetGlobalData()=0
virtual void SetOrderlyHandling(int optype, bool value)=0
virtual void ProcessIncomingData(bool asynccall)=0
virtual boost::shared_ptr< Session > GetSessionById(int id)=0
virtual void Open()=0
Open the session.
virtual void SetId(int id)=0
virtual int GetLocalPort()=0
virtual std::string GetLocalIp()=0
virtual boost::shared_ptr< IoHandler > GetIoHandler()=0
virtual bool TestIdle(int idletype, int idletime)=0
virtual bool HasGlobalData()=0
virtual void Close(bool rightnow=true)=0
virtual bool Connected()=0
virtual void WriteData(void *data)=0
virtual void WriteBuffer(boost::shared_ptr< IoBuffer > data)=0
virtual void ProcessOutgoingData(bool asynccall)=0
virtual int GetMaxMessageQueueSize(int optype)=0
virtual boost::shared_ptr< IoFilter > GetIoFilter()=0
virtual std::string GetRemoteIp()=0
virtual void Write(boost::shared_ptr< IoBuffer > data)=0
virtual bool GetOrderlyHandling(int optype)=0
virtual int GetRemotePort()=0
virtual void SetMaxMessageQueueSize(int optype, int value)=0
virtual boost::shared_ptr< IoBuffer > EncodeBuffer(void *data)=0
virtual int GetSessions(std::vector< boost::shared_ptr< Session > > &sessions)=0
Session class (interface)
Definition: Session.h:51
virtual void * DecodeBuffer(boost::shared_ptr< IoBuffer > data)=0
virtual void TakeBack(boost::shared_ptr< IoBuffer > buf)=0
virtual boost::shared_ptr< IoBuffer > GetFreeBuffer(int bufsize)=0
virtual void Broadcast(boost::shared_ptr< IoBuffer > data)=0
virtual boost::shared_ptr< IoBuffer > GetReadCache()=0
virtual int GetSessionCount()=0