com::softwareag::umtransport::ClientContextBuilder Class Referenceabstract

This is an abstract Builder object which is used to create client side Transports. More...

#include <ClientContextBuilder.h>

Inheritance diagram for com::softwareag::umtransport::ClientContextBuilder:
com::softwareag::umtransport::ContextBuilder com::softwareag::umtransport::ClientRDMATransportContext::Builder com::softwareag::umtransport::ClientSHMTransportContext::Builder com::softwareag::umtransport::ClientSocketTransportContext::Builder com::softwareag::umtransport::ClientSSLTransportContext::Builder

Protected Member Functions

std::string getCiphers ()
 Get the value that is currently set for the OpenSSL formatted cipher string list More...
 
std::string getFilePath ()
 Get the file path that is currently set. The path will be used to store the memory mapped files required by the SHM Transport. More...
 
std::string getHost ()
 Returns the current value that has been set for the host name More...
 
int getLockWait ()
 Get the current wait time for yielding a spin lock. Advanced option for SHM transports only. More...
 
int getPort ()
 Returns the current value that has been set for the port More...
 
longlong getSpinCount ()
 Gets the current active spin count. Advanced option for SHM transports only. More...
 
std::string getTrustStore ()
 Get the value that is currently set for the path to the trust store on the local machine More...
 
bool isLowLatency ()
 Determines whether low latency mode is enabled. More...
 
ClientContextBuilderwithCiphers (const std::string &ciphers)
 Set the cipher list to use for SSL, the format of the string is OpenSSL formatted cipher string More...
 
ClientContextBuilderwithFilePath (const std::string &path)
 Set the path to the directory which will be used to store the memory mapped files used by the SHM Transport. More...
 
ClientContextBuilderwithHost (const std::string &host)
 Sets the host of the server that you want to connect to e.g. um.terracotta.org More...
 
ClientContextBuilderwithLockWait (const int count)
 Sets the waiting time (in nanoseconds) for yielding a spin lock. Advanced configuration option, use judiciously. More...
 
ClientContextBuilderwithLowLatency (bool flag)
 Used to disable/enable low latency mode (on by default). If low latency mode is true then the application will be very CPU intensive and ideally consume an core of the machine. This allows the Transport to respond as fast as possible when new data arrives. If this mode is set to false then the Transport will be less CPU intensive but latency will be increased slightly as a consequence. More...
 
ClientContextBuilderwithPort (int port)
 Sets the port of the server that you want to connect to e.g. 9000 More...
 
ClientContextBuilderwithSpinCount (const longlong count)
 Sets the spin count for reading data from an SHM input stream. Advanced configuration option, use judiciously. More...
 
ClientContextBuilderwithTrustStore (const std::string &trustStore)
 Set the path the the trust store that will be used to validate the server provided certificate More...
 

Detailed Description

This is an abstract Builder object which is used to create client side Transports.

<seealso cref= ClientSocketTransportContext::Builder

<seealso cref= ClientSSLTransportContext::Builder

<seealso cref= ClientRDMATransportContext::Builder

<seealso cref= ClientSHMTransportContext::Builder

Member Function Documentation

std::string com::softwareag::umtransport::ClientContextBuilder::getCiphers ( )
protected

Get the value that is currently set for the OpenSSL formatted cipher string list

Returns
OpenSSL formatted string of ciphers
std::string com::softwareag::umtransport::ClientContextBuilder::getFilePath ( )
protected

Get the file path that is currently set. The path will be used to store the memory mapped files required by the SHM Transport.

Returns
the file path that will be used by the Transport
std::string com::softwareag::umtransport::ClientContextBuilder::getHost ( )
protected

Returns the current value that has been set for the host name

Returns
the host name that this Builder will set for the ClientTransportContext
int com::softwareag::umtransport::ClientContextBuilder::getLockWait ( )
protected

Get the current wait time for yielding a spin lock. Advanced option for SHM transports only.

Returns
the wait time (in nanoseconds) used by the SHM Transport. Returns 0 if the value is not set, or could not be converted/translated.
int com::softwareag::umtransport::ClientContextBuilder::getPort ( )
protected

Returns the current value that has been set for the port

Returns
the port that this Builder will set for the ClientTransportContext
longlong com::softwareag::umtransport::ClientContextBuilder::getSpinCount ( )
protected

Gets the current active spin count. Advanced option for SHM transports only.

Returns
the spin count used by the SHM Transport. Returns 0 if the value is not set, or could not be converted/translated.
std::string com::softwareag::umtransport::ClientContextBuilder::getTrustStore ( )
protected

Get the value that is currently set for the path to the trust store on the local machine

Returns
path to the trust store
bool com::softwareag::umtransport::ClientContextBuilder::isLowLatency ( )
protected

Determines whether low latency mode is enabled.

Returns
true if low latency is enabled for this Builder; false otherwise
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withCiphers ( const std::string &  ciphers)
protected

Set the cipher list to use for SSL, the format of the string is OpenSSL formatted cipher string

Parameters
ciphersthe OpenSSL cipher list formatted string
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withFilePath ( const std::string &  path)
protected

Set the path to the directory which will be used to store the memory mapped files used by the SHM Transport.

Parameters
pathof the directory used for communication
Returns
this Builder object to allow methods to be chained
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withHost ( const std::string &  host)
protected

Sets the host of the server that you want to connect to e.g. um.terracotta.org

Parameters
hostthe host of the server that you want to connect to
Returns
this Builder object so that method calls can be chained.
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withLockWait ( const int  count)
protected

Sets the waiting time (in nanoseconds) for yielding a spin lock. Advanced configuration option, use judiciously.

Parameters
countthe time (in nanoseconds) to yield a spin lock
Returns
this Builder object to allow methods to be chained
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withLowLatency ( bool  flag)
protected

Used to disable/enable low latency mode (on by default). If low latency mode is true then the application will be very CPU intensive and ideally consume an core of the machine. This allows the Transport to respond as fast as possible when new data arrives. If this mode is set to false then the Transport will be less CPU intensive but latency will be increased slightly as a consequence.

Parameters
flagtrue if you want to enable low latency mode
Returns
this Builder object so that method calls can be chained.
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withPort ( int  port)
protected

Sets the port of the server that you want to connect to e.g. 9000

Parameters
portthe port of the server that you want to connect to
Returns
this Builder object so that method calls can be chained.
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withSpinCount ( const longlong  count)
protected

Sets the spin count for reading data from an SHM input stream. Advanced configuration option, use judiciously.

Parameters
countthe number of times to spin waiting for data to arrive
Returns
this Builder object to allow methods to be chained
ClientContextBuilder* com::softwareag::umtransport::ClientContextBuilder::withTrustStore ( const std::string &  trustStore)
protected

Set the path the the trust store that will be used to validate the server provided certificate

Parameters
trustStorethe location of the trust store on the local machine