RCFProto
 All Classes Functions Typedefs
Public Types | Public Member Functions | List of all members
RCF::RcfProtoChannel Class Reference

Represents a single RPC connection to a server. More...

#include <RCFProto.hpp>

Inherits RpcChannel.

Public Types

typedef
ClientStub::CertificateValidationCb 
CertificateValidationCb
 Sets the certificate validation callback.
 

Public Member Functions

 RcfProtoChannel (const RCF::Endpoint &endpoint)
 Constructs a RPC channel from an endpoint.
 
bool Failed ()
 
std::string ErrorText ()
 If Failed() is true, returns a human-readable description of the error.
 
void StartCancel ()
 
void connect ()
 Connects to the server.
 
void disconnect ()
 Disconencts from the server.
 
void setMaxMessageLength (std::size_t maxMessageSize)
 Sets the maximum incoming message size.
 
std::size_t getMaxMessageLength () const
 Gets the maximum incoming message size.
 
void setRemoteCallTimeoutMs (unsigned int remoteCallTimeoutMs)
 Sets the remote call timeout value, in milliseconds.
 
unsigned int getRemoteCallTimeoutMs () const
 Gets the remote call timeout value, in milliseconds.
 
void setConnectTimeoutMs (unsigned int connectTimeoutMs)
 Sets the connect timeout value, in milliseconds.
 
unsigned int getConnectTimeoutMs () const
 Gets the connect timeout value, in milliseconds.
 
void setTransportProtocol (RCF::TransportProtocol protocol)
 Sets the transport protocol being used by the channel.
 
RCF::TransportProtocol getTransportProtocol ()
 Gets the transport protocol being used by the channel.
 
void setAsynchronousRpcMode (bool enable)
 Sets the asynchronous RPC mode. By default the asynchronous RPC mode is false.
 
bool getAsynchronousRpcMode ()
 Gets the asynchronous RPC mode.
 
void setPingBackIntervalMs (int pingBackIntervalMs)
 
int getPingBackIntervalMs ()
 Returns the ping back interval of the connection.
 
void setHttpProxy (const std::string &httpProxy)
 Sets the network address of the HTTP proxy server, through which to route remote calls. Only valid when using a HTTP or HTTPS endpoint.
 
std::string getHttpProxy ()
 Returns the network address of the HTTP proxy server.
 
void setHttpProxyPort (int httpProxyPort)
 Sets the port number of the HTTP proxy server, through which to route remote calls. Only valid when using a HTTP or HTTPS endpoint.
 
int getHttpProxyPort ()
 Returns the port number of the HTTP proxy server.
 
TransportType getTransportType ()
 Returns the transport type of the connection.
 
void setUsername (const tstring &username)
 Sets the Windows username to use when connecting. Only valid for NTLM and Kerberos transport protocols.
 
tstring getUsername ()
 Returns the Windows username to use when connecting.
 
void setPassword (const tstring &password)
 Sets the Windows password to use when connecting. Only valid for NTLM and Kerberos transport protocols.
 
tstring getPassword ()
 Returns the Windows password to use when connecting.
 
void setKerberosSpn (const tstring &kerberosSpn)
 Sets the Kerberos SPN to use when connecting. Only valid for Kerberos transport protocols.
 
tstring getKerberosSpn ()
 Returns the Kerberos SPN to use when connecting.
 
void setEnableCompression (bool enableCompression)
 Sets the transport level compression setting for this connection.
 
bool getEnableCompression ()
 Returns the transport level compression setting for this connection.
 
void setCertificate (CertificatePtr certificatePtr)
 Sets the SSL certificate for the channel.
 
CertificatePtr getCertificate ()
 Gets the SSL certificate for the channel.
 
void setCaCertificate (CertificatePtr certificatePtr)
 Sets the certificate authority for the channel.
 
CertificatePtr getCaCertificate ()
 Gets the certificate authority for the channel.
 
void setOpenSslCipherSuite (const std::string &cipherSuite)
 Sets the OpenSSL cipher suite. Only applicable when using OpenSSL as the SSL implementation.
 
std::string getOpenSslCipherSuite () const
 Gets the OpenSSL cipher suite.
 
void setEnableSchannelCertificateValidation (const tstring &peerName)
 
tstring getEnableSchannelCertificateValidation () const
 Gets the Schannel certificate validation setting.
 
void setSslImplementation (SslImplementation sslImplementation)
 Sets the SSL implementation to be used by the channel.
 
SslImplementation getSslImplementation () const
 Gets the SSL implementation.
 
const CertificateValidationCbgetCertificateValidationCallback () const
 Gets the certificate validation callback.
 

Detailed Description

Represents a single RPC connection to a server.

Member Function Documentation

bool RCF::RcfProtoChannel::Failed ( )

After a call has finished, returns true if the call failed. The possible reasons for failure depend on the RPC implementation. Failed() must not be called before a call has finished. If Failed() returns true, the contents of the response message are undefined.

void RCF::RcfProtoChannel::setEnableSchannelCertificateValidation ( const tstring &  peerName)

Sets the Schannel certificate validation setting. Only applicable when using Schannel as the SSL implementation. If this setting is non-empty, it will be used by Schannel to automatically validate peer certificates.

void RCF::RcfProtoChannel::setPingBackIntervalMs ( int  pingBackIntervalMs)

Sets the ping back interval of the connection, in milliseconds. Ping backs are sent from the server back to the client, while a remote call is in progress.

void RCF::RcfProtoChannel::StartCancel ( )

Advises the RPC system that the caller desires that the RPC call be canceled. The RPC system may cancel it immediately, may wait awhile and then cancel it, or may not even cancel the call at all. If the call is canceled, the "done" callback will still be called and the RpcController will indicate that the call failed at that time.


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