E-MailRelay
Public Member Functions | List of all members
GSmtp::AdminServerPeer Class Reference

A derivation of ServerPeer for the administration interface. More...

#include <gadminserver.h>

+ Inheritance diagram for GSmtp::AdminServerPeer:

Public Member Functions

 AdminServerPeer (GNet::ExceptionSinkUnbound, const GNet::ServerPeerInfo &, AdminServer &, const std::string &remote, const G::StringMap &info_commands, const G::StringMap &config_commands, bool with_terminate)
 Constructor. More...
 
 ~AdminServerPeer () override
 Destructor. More...
 
bool notifying () const
 Returns true if the remote user has asked for notifications. More...
 
void notify (const std::string &s0, const std::string &s1, const std::string &s2, const std::string &s4)
 Called when something happens which the admin user might be interested in. More...
 
 AdminServerPeer (const AdminServerPeer &)=delete
 
 AdminServerPeer (AdminServerPeer &&)=delete
 
void operator= (const AdminServerPeer &)=delete
 
void operator= (AdminServerPeer &&)=delete
 
- Public Member Functions inherited from GNet::ServerPeer
 ServerPeer (ExceptionSink, const ServerPeerInfo &, const LineBufferConfig &)
 Constructor. More...
 
 ~ServerPeer () override
 Destructor. More...
 
bool send (const std::string &data, std::size_t offset=0U)
 Sends data down the socket to the peer. More...
 
bool send (const std::vector< G::string_view > &data)
 Overload to send data using scatter-gather segments. More...
 
std::pair< bool, AddresslocalAddress () const override
 Returns the local address. More...
 
std::pair< bool, AddresspeerAddress () const override
 Returns the peer address. More...
 
std::string connectionState () const override
 Returns the connection state display string. More...
 
std::string peerCertificate () const override
 Returns the peer's TLS certificate. More...
 
void doOnDelete (const std::string &reason, bool done)
 Used by the Server class to call onDelete(). More...
 
LineBufferState lineBuffer () const
 Returns information about the state of the internal line-buffer. More...
 
 ServerPeer (const ServerPeer &)=delete
 
 ServerPeer (ServerPeer &&)=delete
 
void operator= (const ServerPeer &)=delete
 
void operator= (ServerPeer &&)=delete
 
- Public Member Functions inherited from GNet::Connection
virtual ~Connection ()=default
 Destructor.
 
virtual std::pair< bool, AddresslocalAddress () const =0
 Returns the connection's local address. More...
 
virtual std::pair< bool, AddresspeerAddress () const =0
 Returns the connection's peer address. More...
 
virtual std::string connectionState () const =0
 Returns the connection state as a display string. More...
 
virtual std::string peerCertificate () const =0
 Returns the peer's TLS certificate. More...
 
- Public Member Functions inherited from GNet::ExceptionSource
virtual std::string exceptionSourceId () const
 Returns an identifying string for logging purposes, or the empty string. More...
 
virtual ~ExceptionSource ()
 Destructor. More...
 
 ExceptionSource (const ExceptionSource &)=delete
 
 ExceptionSource (ExceptionSource &&)=delete
 
void operator= (const ExceptionSource &)=delete
 
void operator= (ExceptionSource &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from GNet::ServerPeer
virtual void onSendComplete ()=0
 Called after flow-control has been released and all residual data sent.
 
virtual bool onReceive (const char *data, std::size_t size, std::size_t eolsize, std::size_t linesize, char c0)=0
 Called on receipt of data. See GNet::LineBuffer.
 
virtual void onDelete (const std::string &reason)=0
 Called just before the Server deletes this ServerPeer as the result of an exception (but not as a result of Server destruction). More...
 
void secureAccept ()
 Waits for the peer to start a secure session. More...
 
StreamSocketsocket ()
 Returns a reference to the client-server connection socket. More...
 
void expect (std::size_t)
 Modifies the line buffer state so that it delivers a chunk of non-line-delimited data. More...
 
void onData (const char *, std::size_t) override
 Override from GNet::SocketProtocolSink. More...
 

Detailed Description

A derivation of ServerPeer for the administration interface.

The AdminServerPeer instantiates its own Smtp::Client in order to implement the "flush" command.

See also
GSmtp::AdminServer

Definition at line 52 of file gadminserver.h.

Constructor & Destructor Documentation

◆ AdminServerPeer()

GSmtp::AdminServerPeer::AdminServerPeer ( GNet::ExceptionSinkUnbound  esu,
const GNet::ServerPeerInfo peer_info,
AdminServer server,
const std::string &  remote,
const G::StringMap info_commands,
const G::StringMap config_commands,
bool  with_terminate 
)

Constructor.

Definition at line 34 of file gadminserver.cpp.

◆ ~AdminServerPeer()

GSmtp::AdminServerPeer::~AdminServerPeer ( )
override

Destructor.

Definition at line 54 of file gadminserver.cpp.

Member Function Documentation

◆ notify()

void GSmtp::AdminServerPeer::notify ( const std::string &  s0,
const std::string &  s1,
const std::string &  s2,
const std::string &  s4 
)

Called when something happens which the admin user might be interested in.

Definition at line 255 of file gadminserver.cpp.

◆ notifying()

bool GSmtp::AdminServerPeer::notifying ( ) const

Returns true if the remote user has asked for notifications.

Definition at line 335 of file gadminserver.cpp.


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