![]() |
RTBKit
0.9
Open-source framework to create real-time ad bidding systems.
|
#include <active_endpoint.h>
Classes | |
| struct | ConnectManager |
Public Types | |
|
typedef boost::function< void(const std::shared_ptr< TransportBase > &)> | OnNewConnection |
| typedef boost::function< void(std::string)> | OnConnectionError |
Public Member Functions | |
| ActiveEndpoint (const std::string &name) | |
| int | init (int port, const std::string &hostname, int connections=0, int threads=1, bool synchronous=true, bool throwIfAnyConnectionError=true, OnConnectionError onEachConnectionError=doNothingOnConnectionError, double timeout=1.0) |
| int | createConnections (int num_connections, bool synchronous, bool throwIfAnyConnectionError, OnConnectionError onEachConnectionError, double timeout=1.0) |
| virtual void | newConnection (OnNewConnection onNewConnection, OnConnectionError onConnectionError, double timeout=1.0) |
| virtual void | getConnection (OnNewConnection onNewConnection, OnConnectionError onConnectionError, double timeout) |
| virtual int | doConnect (const std::shared_ptr< TransportBase > &transport, const ACE_INET_Addr &addr, double timeout, bool block) |
|
virtual std::shared_ptr < TransportBase > | makeNewTransport () |
| virtual void | closePeer () |
| virtual std::string | hostname () const |
| virtual int | port () const |
| int | numActiveConnections () const |
| int | numInactiveConnections () const |
| virtual void | dumpState () const |
| void | shutdown () |
Static Public Member Functions | |
| static void | throwExceptionOnConnectionError (const std::string &error) |
| static void | doNothingOnConnectionError (const std::string &error) |
Protected Member Functions | |
| virtual void | notifyNewTransport (const std::shared_ptr< TransportBase > &transport) |
| virtual void | notifyTransportOpen (const std::shared_ptr< TransportBase > &transport) |
| virtual void | notifyCloseTransport (const std::shared_ptr< TransportBase > &transport) |
| virtual void | notifyRecycleTransport (const std::shared_ptr< TransportBase > &transport) |
Protected Attributes | |
| Connections | active |
| Connections | inactive |
| int | port_ |
| std::string | hostname_ |
| ACE_INET_Addr | addr |
| std::shared_ptr< Connector > | connector |
An endpoint that actively creates a given type of connection.
Definition at line 44 of file active_endpoint.h.
| int Datacratic::ActiveEndpoint::createConnections | ( | int | num_connections, |
| bool | synchronous, | ||
| bool | throwIfAnyConnectionError, | ||
| OnConnectionError | onEachConnectionError, | ||
| double | timeout = 1.0 |
||
| ) |
Pre-seed with the given number of connections in the connection pool.
Definition at line 63 of file active_endpoint.cc.
| virtual int Datacratic::ActiveEndpoint::doConnect | ( | const std::shared_ptr< TransportBase > & | transport, |
| const ACE_INET_Addr & | addr, | ||
| double | timeout, | ||
| bool | block | ||
| ) | [inline, virtual] |
Method to cause the connection to actually happen.
Definition at line 113 of file active_endpoint.h.
| void Datacratic::ActiveEndpoint::doNothingOnConnectionError | ( | const std::string & | error | ) | [static] |
Do nothing on a connection error.
Definition at line 30 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::dumpState | ( | ) | const [virtual] |
Dump the state of the endpoint for debugging.
Reimplemented from Datacratic::EndpointBase.
Definition at line 267 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::getConnection | ( | OnNewConnection | onNewConnection, |
| OnConnectionError | onConnectionError, | ||
| double | timeout | ||
| ) | [virtual] |
Return a connection, either from the pool or by creating a new connection.
Definition at line 135 of file active_endpoint.cc.
| virtual std::string Datacratic::ActiveEndpoint::hostname | ( | ) | const [inline, virtual] |
What host are we connected to?
Implements Datacratic::EndpointBase.
Definition at line 132 of file active_endpoint.h.
| int Datacratic::ActiveEndpoint::init | ( | int | port, |
| const std::string & | hostname, | ||
| int | connections = 0, |
||
| int | threads = 1, |
||
| bool | synchronous = true, |
||
| bool | throwIfAnyConnectionError = true, |
||
| OnConnectionError | onEachConnectionError = doNothingOnConnectionError, |
||
| double | timeout = 1.0 |
||
| ) |
Initialize the endpoint. This will pre-create the given number of connections to the given hostname:port and the given number of threads to service them.
Returns the number of connections that were created.
Definition at line 36 of file active_endpoint.cc.
| virtual void Datacratic::ActiveEndpoint::newConnection | ( | OnNewConnection | onNewConnection, |
| OnConnectionError | onConnectionError, | ||
| double | timeout = 1.0 |
||
| ) | [inline, virtual] |
Create a new connection.
Definition at line 92 of file active_endpoint.h.
| void Datacratic::ActiveEndpoint::notifyCloseTransport | ( | const std::shared_ptr< TransportBase > & | transport | ) | [protected, virtual] |
Tell the endpoint that a connection has been closed. Removes it from the active/inactive connections.
Reimplemented from Datacratic::EndpointBase.
Reimplemented in Datacratic::RemoteOutput.
Definition at line 231 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::notifyNewTransport | ( | const std::shared_ptr< TransportBase > & | transport | ) | [protected, virtual] |
Tell the endpoint that a new transport has been created.
Reimplemented from Datacratic::EndpointBase.
Definition at line 200 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::notifyRecycleTransport | ( | const std::shared_ptr< TransportBase > & | transport | ) | [protected, virtual] |
Tell the endpoint that a connection has been recycled. Moves it from active to inactive.
Reimplemented from Datacratic::EndpointBase.
Definition at line 247 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::notifyTransportOpen | ( | const std::shared_ptr< TransportBase > & | transport | ) | [protected, virtual] |
Tell the endpoint that a connection has been opened.
Definition at line 207 of file active_endpoint.cc.
| virtual int Datacratic::ActiveEndpoint::port | ( | ) | const [inline, virtual] |
What port are we listening on?
Implements Datacratic::EndpointBase.
Definition at line 138 of file active_endpoint.h.
| void Datacratic::ActiveEndpoint::shutdown | ( | ) |
Shutdown everything in the bid manager. Opposite of init(). Will implicitly call notifyFinished() and wait for all threads to exit before returning.
Reimplemented from Datacratic::EndpointBase.
Reimplemented in Datacratic::RemoteOutput.
Definition at line 191 of file active_endpoint.cc.
| void Datacratic::ActiveEndpoint::throwExceptionOnConnectionError | ( | const std::string & | error | ) | [static] |
Default function that will throw an exception on a connection error.
Definition at line 23 of file active_endpoint.cc.
1.7.6.1