IComplexSocket
+Stop(): BOOL
+Send(dwConnID: CONNID, pBuffer: BYTE, iLength: int, iOffset: int): BOOL
+SendPackets(dwConnID: CONNID, pBuffers: WSABUF, iCount: int): BOOL
+Disconnect(dwConnID: CONNID, bForce: BOOL): BOOL
+DisconnectLongConnections(dwPeriod: DWORD, bForce: BOOL): BOOL
+DisconnectSilenceConnections(dwPeriod: DWORD, bForce: BOOL): BOOL
+SetConnectionExtra(dwConnID: CONNID, pExtra: PVOID): BOOL
+GetConnectionExtra(dwConnID: CONNID, ppExtra: PVOID): BOOL
+HasStarted(): BOOL
+GetState(): EnServiceState
+GetConnectionCount(): DWORD
+GetAllConnectionIDs(pIDs: CONNID, dwCount: DWORD): BOOL
+GetConnectPeriod(dwConnID: CONNID, dwPeriod: DWORD): BOOL
+GetSilencePeriod(dwConnID: CONNID, dwPeriod: DWORD): BOOL
+GetLocalAddress(dwConnID: CONNID, lpszAddress: TCHAR, iAddressLen: int, usPort: USHORT): BOOL
+GetRemoteAddress(dwConnID: CONNID, lpszAddress: TCHAR, iAddressLen: int, usPort: USHORT): BOOL
+GetLastError(): EnSocketError
+GetLastErrorDesc(): LPCTSTR
+GetPendingDataLength(dwConnID: CONNID, iPending: int): BOOL
+SetSendPolicy(enSendPolicy: EnSendPolicy): void
+SetMarkSilence(bMarkSilence: BOOL): void
+IsMarkSilence(): BOOL
+SetFreeSocketObjLockTime(dwFreeSocketObjLockTime: DWORD): void
+SetFreeSocketObjPool(dwFreeSocketObjPool: DWORD): void
+SetFreeBufferObjPool(dwFreeBufferObjPool: DWORD): void
+SetFreeSocketObjHold(dwFreeSocketObjHold: DWORD): void
+SetFreeBufferObjHold(dwFreeBufferObjHold: DWORD): void
+SetWorkerThreadCount(dwWorkerThreadCount: DWORD): void
+GetSendPolicy(): EnSendPolicy
+GetFreeSocketObjLockTime(): DWORD
+GetFreeSocketObjPool(): DWORD
+GetFreeBufferObjPool(): DWORD
+GetFreeSocketObjHold(): DWORD
+GetFreeBufferObjHold(): DWORD
+GetWorkerThreadCount(): DWORD
<<destroy>>-IComplexSocket()
IAgent
+Start(lpszBindAddress: LPCTSTR, bAsyncConnect: BOOL): BOOL
+Connect(pszRemoteAddress: LPCTSTR, usPort: USHORT, pdwConnID: CONNID): BOOL
ITcpAgent
+SendSmallFile(dwConnID: CONNID, lpszFileName: LPCTSTR, pHead: LPWSABUF, pTail: LPWSABUF): BOOL
+SetReuseAddress(bReuseAddress: BOOL): void
+IsReuseAddress(): BOOL
+SetSocketBufferSize(dwSocketBufferSize: DWORD): void
+SetKeepAliveTime(dwKeepAliveTime: DWORD): void
+SetKeepAliveInterval(dwKeepAliveInterval: DWORD): void
+GetSocketBufferSize(): DWORD
+GetKeepAliveTime(): DWORD
+GetKeepAliveInterval(): DWORD
IPullSocket
+Fetch(dwConnID: CONNID, pData: BYTE, iLength: int): EnFetchResult
+Peek(dwConnID: CONNID, pData: BYTE, iLength: int): EnFetchResult
<<destroy>>-IPullSocket()
ITcpPullAgent
+ToPull(pAgent: IAgent): IPullSocket
+ToAgent(pPullSocket: IPullSocket): ITcpAgent
IPackSocket
+SetMaxPackSize(dwMaxPackSize: DWORD): void
+SetPackHeaderFlag(usPackHeaderFlag: USHORT): void
+GetMaxPackSize(): DWORD
+GetPackHeaderFlag(): USHORT
<<destroy>>-IPackSocket()
ITcpPackAgent
+ToPack(pAgent: IAgent): IPackSocket
+ToAgent(pPackSocket: IPackSocket): ITcpAgent