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 CertificateValidationCb & | getCertificateValidationCallback () const |
Gets the certificate validation callback. | |
Represents a single RPC connection to a server.
bool RCF::RcfProtoChannel::Failed | ( | ) |
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.