TrinityCore
Trinity::Net::Http::Socket< Derived > Class Template Reference

#include <HttpSocket.h>

+ Inheritance diagram for Trinity::Net::Http::Socket< Derived >:

Public Member Functions

 Socket (boost::asio::ip::tcp::socket &&socket)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socketoperator= (Socket const &other)=delete
 
Socketoperator= (Socket &&other)=delete
 
 ~Socket ()=default
 
void Start () override
 
- Public Member Functions inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSocketWrapper >
 BaseSocket (boost::asio::ip::tcp::socket &&socket, Args &&... args)
 
 BaseSocket (BaseSocket const &other)=delete
 
 BaseSocket (BaseSocket &&other)=delete
 
BaseSocketoperator= (BaseSocket const &other)=delete
 
BaseSocketoperator= (BaseSocket &&other)=delete
 
 ~BaseSocket ()=default
 
void ReadHandler () override
 
bool HandleMessage (Request &request)
 
virtual RequestHandlerResult RequestHandler (RequestContext &context)=0
 
void SendResponse (RequestContext &context) override
 
void QueueQuery (QueryCallback &&queryCallback) override
 
bool Update () override
 
std::string GetClientInfo () const override
 
Optional< boost::uuids::uuid > GetSessionId () const final
 
- Public Member Functions inherited from Socket< Derived, Impl::BoostBeastSocketWrapper >
 Socket (boost::asio::ip::tcp::socket &&socket, Args &&... args)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socketoperator= (Socket const &other)=delete
 
Socketoperator= (Socket &&other)=delete
 
virtual ~Socket ()
 
virtual void Start ()=0
 
virtual bool Update ()
 
boost::asio::ip::address GetRemoteIpAddress () const
 
uint16 GetRemotePort () const
 
void AsyncRead ()
 
void AsyncReadWithCallback (void(T::*callback)(boost::system::error_code const &, std::size_t))
 
void QueuePacket (MessageBuffer &&buffer)
 
bool IsOpen () const
 
void CloseSocket ()
 
void DelayedCloseSocket ()
 Marks the socket for closing after write buffer becomes empty. More...
 
MessageBufferGetReadBuffer ()
 
- Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
 AbstractSocket ()=default
 
 AbstractSocket (AbstractSocket const &other)=default
 
 AbstractSocket (AbstractSocket &&other)=default
 
AbstractSocketoperator= (AbstractSocket const &other)=default
 
AbstractSocketoperator= (AbstractSocket &&other)=default
 
virtual ~AbstractSocket ()=default
 
virtual void SendResponse (RequestContext &context)=0
 
virtual void QueueQuery (QueryCallback &&queryCallback)=0
 
virtual std::string GetClientInfo () const =0
 
virtual Optional< boost::uuids::uuid > GetSessionId () const =0
 

Private Types

using SocketBase = BaseSocket< Derived, Impl::BoostBeastSocketWrapper >
 

Additional Inherited Members

- Static Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
static bool ParseRequest (MessageBuffer &packet, RequestParser &parser)
 
static std::string SerializeRequest (Request const &request)
 
static MessageBuffer SerializeResponse (Request const &request, Response &response)
 
- Protected Member Functions inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSocketWrapper >
void ResetHttpParser ()
 
virtual std::shared_ptr< SessionStateObtainSessionState (RequestContext &context) const=0
 
- Protected Member Functions inherited from Socket< Derived, Impl::BoostBeastSocketWrapper >
virtual void OnClose ()
 
virtual void ReadHandler ()=0
 
bool AsyncProcessQueue ()
 
void SetNoDelay (bool enable)
 
Impl::BoostBeastSocketWrapper & underlying_stream ()
 
- Protected Attributes inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSocketWrapper >
QueryCallbackProcessor _queryProcessor
 
Optional< RequestParser_httpParser
 
std::shared_ptr< SessionState_state
 

Detailed Description

template<typename Derived>
class Trinity::Net::Http::Socket< Derived >

Definition at line 51 of file HttpSocket.h.

Member Typedef Documentation

◆ SocketBase

template<typename Derived >
using Trinity::Net::Http::Socket< Derived >::SocketBase = BaseSocket<Derived, Impl::BoostBeastSocketWrapper>
private

Definition at line 53 of file HttpSocket.h.

Constructor & Destructor Documentation

◆ Socket() [1/3]

template<typename Derived >
Trinity::Net::Http::Socket< Derived >::Socket ( boost::asio::ip::tcp::socket &&  socket)
inlineexplicit

Definition at line 56 of file HttpSocket.h.

◆ Socket() [2/3]

template<typename Derived >
Trinity::Net::Http::Socket< Derived >::Socket ( Socket< Derived > const &  other)
delete

◆ Socket() [3/3]

template<typename Derived >
Trinity::Net::Http::Socket< Derived >::Socket ( Socket< Derived > &&  other)
delete

◆ ~Socket()

template<typename Derived >
Trinity::Net::Http::Socket< Derived >::~Socket ( )
virtualdefault

Member Function Documentation

◆ operator=() [1/2]

template<typename Derived >
Socket & Trinity::Net::Http::Socket< Derived >::operator= ( Socket< Derived > &&  other)
delete

◆ operator=() [2/2]

template<typename Derived >
Socket & Trinity::Net::Http::Socket< Derived >::operator= ( Socket< Derived > const &  other)
delete

◆ Start()

template<typename Derived >
void Trinity::Net::Http::Socket< Derived >::Start ( )
inlineoverridevirtual

Implements Socket< Derived, Impl::BoostBeastSocketWrapper >.

Definition at line 66 of file HttpSocket.h.

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: