|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <RealmSocket.h>
Classes | |
| class | Session |
Public Member Functions | |
| void | Close () |
| void | DiscardBytes (size_t len) |
| size_t | GetAvailableBytes (void) const |
| const std::string & | getRemoteAddress (void) const |
| uint16 | getRemotePort (void) const |
| bool | PeekBytes (void *buf, size_t len, size_t offset=0) const |
| bool | QueueSend (void const *buf, size_t len) |
| bool | ReadBytes (void *buf, size_t len) |
| RealmSocket (std::unique_ptr< RealmSocketHandle > socket, std::string remoteAddress, uint16 remotePort) | |
| void | set_session (std::unique_ptr< Session > session) |
| void | SetPacketLogAccountName (std::string accountName) |
| void | Start () |
| ~RealmSocket (void) | |
Private Member Functions | |
| void | AsyncRead () |
| Skyfire::PacketLogServerSessionInfo | BuildPacketLogSessionInfo () const |
| void | CloseSocket () |
| void | CompactInputBuffer () |
| void | HandleRead (boost::system::error_code const &error, size_t bytesTransferred) |
| void | HandleWrite (boost::system::error_code const &error) |
| bool | IsOpen (void) const |
| void | LogAuthPacket (void const *data, size_t len, Skyfire::PacketLogServerDirection direction) |
| void | NotifyClose () |
| void | QueueWrite (std::vector< char > data) |
| void | Run () |
| void | StartAsyncWrite () |
Private Attributes | |
| std::atomic< bool > | _closed |
| std::atomic< bool > | _closeNotified |
| std::vector< char > | _inputBuffer |
| size_t | _inputReadPos |
| std::string | _packetLogAccountName |
| std::array< char, 4096 > | _readBuffer |
| std::string | _remoteAddress |
| uint16 | _remotePort |
| std::unique_ptr< Session > | _session |
| std::unique_ptr< RealmSocketHandle > | _socket |
| bool | _writeInProgress |
| std::deque< std::vector< char > > | _writeQueue |
Definition at line 22 of file RealmSocket.h.
| RealmSocket::RealmSocket | ( | std::unique_ptr< RealmSocketHandle > | socket, |
| std::string | remoteAddress, | ||
| uint16 | remotePort ) |
Definition at line 50 of file RealmSocket.cpp.
References _closed, _closeNotified, _inputBuffer, _inputReadPos, _packetLogAccountName, _readBuffer, _remoteAddress, _remotePort, _session, _socket, _writeInProgress, and _writeQueue.
| RealmSocket::~RealmSocket | ( | void | ) |
Definition at line 58 of file RealmSocket.cpp.
References CloseSocket().
|
private |
Definition at line 160 of file RealmSocket.cpp.
References _closed, _readBuffer, _socket, and IsOpen().
Referenced by HandleRead(), Run(), and Start().
|
private |
Definition at line 286 of file RealmSocket.cpp.
References _packetLogAccountName, _remoteAddress, Skyfire::PacketLogServerSessionInfo::AccountName, Skyfire::PacketLogServerSessionInfo::FilePrefix, Skyfire::PacketLogServerSessionInfo::RemoteAddress, and Skyfire::PacketLogServerSessionInfo::SessionName.
Referenced by LogAuthPacket(), and SetPacketLogAccountName().
| void RealmSocket::Close | ( | ) |
Definition at line 71 of file RealmSocket.cpp.
References CloseSocket().
Referenced by AuthSocket::_HandleLogonProof(), AuthSocket::_HandleRealmList(), AuthSocket::_HandleReconnectChallenge(), AuthSocket::_HandleReconnectProof(), AuthSocket::_HandleXferAccept(), AuthSocket::_HandleXferCancel(), AuthSocket::_HandleXferResume(), and AuthSocket::OnRead().
|
private |
Definition at line 249 of file RealmSocket.cpp.
References _closed, _socket, Skyfire::Net::CloseTcpSocket(), IsOpen(), and NotifyClose().
Referenced by Close(), HandleRead(), HandleWrite(), and ~RealmSocket().
|
private |
Definition at line 273 of file RealmSocket.cpp.
References _inputBuffer, and _inputReadPos.
Referenced by HandleRead().
| void RealmSocket::DiscardBytes | ( | size_t | len | ) |
Definition at line 123 of file RealmSocket.cpp.
References _inputBuffer, and _inputReadPos.
Referenced by AuthSocket::_HandleRealmList(), AuthSocket::_HandleXferCancel(), and ReadBytes().
| size_t RealmSocket::GetAvailableBytes | ( | void | ) | const |
Definition at line 92 of file RealmSocket.cpp.
References _inputBuffer, and _inputReadPos.
Referenced by PeekBytes().
| const std::string & RealmSocket::getRemoteAddress | ( | void | ) | const |
Definition at line 76 of file RealmSocket.cpp.
References _remoteAddress.
Referenced by AuthSocket::_HandleLogonChallenge().
| uint16 RealmSocket::getRemotePort | ( | void | ) | const |
Definition at line 81 of file RealmSocket.cpp.
References _remotePort.
|
private |
Definition at line 173 of file RealmSocket.cpp.
References _closed, _inputBuffer, _readBuffer, _session, AsyncRead(), CloseSocket(), CompactInputBuffer(), LogAuthPacket(), and Skyfire::PACKET_LOG_CLIENT_TO_SERVER.
|
private |
Definition at line 221 of file RealmSocket.cpp.
References _remoteAddress, _remotePort, _writeInProgress, _writeQueue, CloseSocket(), SF_LOG_DEBUG, and StartAsyncWrite().
|
private |
Definition at line 244 of file RealmSocket.cpp.
References _socket.
Referenced by AsyncRead(), CloseSocket(), QueueWrite(), and StartAsyncWrite().
|
private |
Definition at line 296 of file RealmSocket.cpp.
References BuildPacketLogSessionInfo(), and sPacketLogServer.
Referenced by HandleRead(), and QueueSend().
|
private |
Definition at line 261 of file RealmSocket.cpp.
References _closeNotified, _session, and sPacketLogServer.
Referenced by CloseSocket().
| bool RealmSocket::PeekBytes | ( | void * | buf, |
| size_t | len, | ||
| size_t | offset = 0 ) const |
Definition at line 97 of file RealmSocket.cpp.
References _inputBuffer, _inputReadPos, and GetAvailableBytes().
Referenced by ReadBytes().
| bool RealmSocket::QueueSend | ( | void const * | buf, |
| size_t | len ) |
Definition at line 128 of file RealmSocket.cpp.
References _closed, _socket, LogAuthPacket(), and Skyfire::PACKET_LOG_SERVER_TO_CLIENT.
Referenced by AuthSocket::_HandleLogonChallenge(), AuthSocket::_HandleLogonProof(), AuthSocket::_HandleRealmList(), AuthSocket::_HandleReconnectChallenge(), and AuthSocket::_HandleReconnectProof().
|
private |
Definition at line 194 of file RealmSocket.cpp.
References _closed, _writeInProgress, _writeQueue, IsOpen(), and StartAsyncWrite().
| bool RealmSocket::ReadBytes | ( | void * | buf, |
| size_t | len ) |
Definition at line 113 of file RealmSocket.cpp.
References DiscardBytes(), and PeekBytes().
|
private |
Definition at line 155 of file RealmSocket.cpp.
References AsyncRead().
| void RealmSocket::set_session | ( | std::unique_ptr< Session > | session | ) |
Definition at line 150 of file RealmSocket.cpp.
References _session.
| void RealmSocket::SetPacketLogAccountName | ( | std::string | accountName | ) |
Definition at line 86 of file RealmSocket.cpp.
References _packetLogAccountName, BuildPacketLogSessionInfo(), and sPacketLogServer.
Referenced by AuthSocket::_HandleLogonChallenge(), and AuthSocket::_HandleReconnectChallenge().
| void RealmSocket::Start | ( | ) |
Definition at line 63 of file RealmSocket.cpp.
References _session, and AsyncRead().
|
private |
Definition at line 206 of file RealmSocket.cpp.
References _closed, _socket, _writeInProgress, _writeQueue, and IsOpen().
Referenced by HandleWrite(), and QueueWrite().
|
private |
Definition at line 80 of file RealmSocket.h.
Referenced by AsyncRead(), CloseSocket(), HandleRead(), QueueSend(), QueueWrite(), RealmSocket(), and StartAsyncWrite().
|
private |
Definition at line 81 of file RealmSocket.h.
Referenced by NotifyClose(), and RealmSocket().
|
private |
Definition at line 72 of file RealmSocket.h.
Referenced by CompactInputBuffer(), DiscardBytes(), GetAvailableBytes(), HandleRead(), PeekBytes(), and RealmSocket().
|
private |
Definition at line 73 of file RealmSocket.h.
Referenced by CompactInputBuffer(), DiscardBytes(), GetAvailableBytes(), PeekBytes(), and RealmSocket().
|
private |
Definition at line 76 of file RealmSocket.h.
Referenced by BuildPacketLogSessionInfo(), RealmSocket(), and SetPacketLogAccountName().
|
private |
Definition at line 71 of file RealmSocket.h.
Referenced by AsyncRead(), HandleRead(), and RealmSocket().
|
private |
Definition at line 75 of file RealmSocket.h.
Referenced by BuildPacketLogSessionInfo(), getRemoteAddress(), HandleWrite(), and RealmSocket().
|
private |
Definition at line 77 of file RealmSocket.h.
Referenced by getRemotePort(), HandleWrite(), and RealmSocket().
|
private |
Definition at line 74 of file RealmSocket.h.
Referenced by HandleRead(), NotifyClose(), RealmSocket(), set_session(), and Start().
|
private |
Definition at line 70 of file RealmSocket.h.
Referenced by AsyncRead(), CloseSocket(), IsOpen(), QueueSend(), RealmSocket(), and StartAsyncWrite().
|
private |
Definition at line 79 of file RealmSocket.h.
Referenced by HandleWrite(), QueueWrite(), RealmSocket(), and StartAsyncWrite().
|
private |
Definition at line 78 of file RealmSocket.h.
Referenced by HandleWrite(), QueueWrite(), RealmSocket(), and StartAsyncWrite().