Click here to Skip to main content
15,885,216 members
Articles / Programming Languages / C++

RCF - Interprocess Communication for C++

Rate me:
Please Sign up or sign in to vote.
4.94/5 (147 votes)
25 Oct 2011CPOL20 min read 4.6M   8.4K   331  
A server/client IPC framework, using the C++ preprocessor as an IDL compiler.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>RCF: Data Structures</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.5 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  </ul></div>
<h1>RCF Data Structures</h1>Here are the data structures with brief descriptions:<table>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_client_stub.html">RCF::ClientStub</a></td><td class="indexvalue">Manages the client side of communications between server and client </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_exception.html">RCF::Exception</a></td><td class="indexvalue">Base class of all exceptions thrown by RCF </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_filter.html">RCF::Filter</a></td><td class="indexvalue">Interface for synchronous/asynchronous communications filters </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_filter_description.html">RCF::FilterDescription</a></td><td class="indexvalue">Runtime description of a filter </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_filter_factory.html">RCF::FilterFactory</a></td><td class="indexvalue">Interface for filter factories </td></tr>
  <tr><td class="indexkey"><a class="el" href="struct_r_c_f_1_1_filter_id_comparison.html">RCF::FilterIdComparison</a></td><td class="indexvalue">Utility for comparing filters and filter id's </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_filter_service.html">RCF::FilterService</a></td><td class="indexvalue">Service enabling <a class="el" href="class_r_c_f_1_1_rcf_server.html">RcfServer</a> to supply its transports with filters, e.g. for compression and encryption </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___client_transport.html">RCF::I_ClientTransport</a></td><td class="indexvalue">Base class for client transports </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___endpoint.html">RCF::I_Endpoint</a></td><td class="indexvalue">Represents an abstraction of a communications endpoint </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___proactor.html">RCF::I_Proactor</a></td><td class="indexvalue">Interface by which the session manager reads/writes data on a given session </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___rcf_client.html">RCF::I_RcfClient</a></td><td class="indexvalue">Base class of all RcfClient&lt;&gt; templates </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___server_transport.html">RCF::I_ServerTransport</a></td><td class="indexvalue">Base class of all server transport services </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___server_transport_ex.html">RCF::I_ServerTransportEx</a></td><td class="indexvalue">Additional base class for server transport services with extended stream-oriented functionality </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___service.html">RCF::I_Service</a></td><td class="indexvalue">Base class for <a class="el" href="class_r_c_f_1_1_rcf_server.html">RcfServer</a> plug-in services </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___session.html">RCF::I_Session</a></td><td class="indexvalue">Interface for a generic server session </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_i___session_manager.html">RCF::I_SessionManager</a></td><td class="indexvalue">Base class for session managers, in particular <a class="el" href="class_r_c_f_1_1_rcf_server.html">RcfServer</a> </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_identity_filter.html">RCF::IdentityFilter</a></td><td class="indexvalue">Trivial identity filter, applies no transformations at all. Also serves as a convenience base class for other filters </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_identity_filter_factory.html">RCF::IdentityFilterFactory</a></td><td class="indexvalue">Factory for <a class="el" href="class_r_c_f_1_1_identity_filter.html">IdentityFilter</a> </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_multicast_client_transport.html">RCF::MulticastClientTransport</a></td><td class="indexvalue">Special purpose client transport for sending messages in parallel on multiple sub-transports </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_object_factory_service.html">RCF::ObjectFactoryService</a></td><td class="indexvalue">Service allowing remote clients to create objects on the server side, as opposed to just calling methods on pre-existing objects </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_open_ssl_encryption_filter.html">RCF::OpenSslEncryptionFilter</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> implementing the SSL encryption protocol, through the OpenSSL library </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_open_ssl_encryption_filter_factory.html">RCF::OpenSslEncryptionFilterFactory</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> factory for <a class="el" href="class_r_c_f_1_1_open_ssl_encryption_filter.html">OpenSslEncryptionFilter</a> </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_publishing_service.html">RCF::PublishingService</a></td><td class="indexvalue">Service for implementing the publish part of publish/subscribe functionality </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_rcf_server.html">RCF::RcfServer</a></td><td class="indexvalue">Server class, supporting pluggable transports and services </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_remote_exception.html">RCF::RemoteException</a></td><td class="indexvalue">Thrown on client side to indicate an exception thrown on the server side </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_subscription_service.html">RCF::SubscriptionService</a></td><td class="indexvalue">Service for implementing the subscribe part of publish/subscribe functionality </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_tcp_endpoint.html">RCF::TcpEndpoint</a></td><td class="indexvalue">Represents a TCP communications endpoint </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_udp_endpoint.html">RCF::UdpEndpoint</a></td><td class="indexvalue">Represents a UDP communications endpoint </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_zlib_stateful_compression_filter.html">RCF::ZlibStatefulCompressionFilter</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> implementing a stateful compression protocol, through the Zlib library </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_zlib_stateful_compression_filter_factory.html">RCF::ZlibStatefulCompressionFilterFactory</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> factory for <a class="el" href="class_r_c_f_1_1_zlib_stateful_compression_filter.html">ZlibStatefulCompressionFilter</a> </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_zlib_stateless_compression_filter.html">RCF::ZlibStatelessCompressionFilter</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> implementing a stateless compression protocol, through the Zlib library </td></tr>
  <tr><td class="indexkey"><a class="el" href="class_r_c_f_1_1_zlib_stateless_compression_filter_factory.html">RCF::ZlibStatelessCompressionFilterFactory</a></td><td class="indexvalue"><a class="el" href="class_r_c_f_1_1_filter.html">Filter</a> factory for <a class="el" href="class_r_c_f_1_1_zlib_stateless_compression_filter.html">ZlibStatelessCompressionFilter</a> </td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Tue Sep 19 19:02:37 2006 for RCF by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Australia Australia
Software developer, from Sweden and now living in Canberra, Australia, working on distributed C++ applications. When he is not programming, Jarl enjoys skiing and playing table tennis. He derives immense satisfaction from referring to himself in third person.

Comments and Discussions