| ►Nderecho | |
| ►Nrpc | |
| Cconst_partial_wrapped | Exactly the same as the partial_wrapped template, but for pointer-to-member-functions that are const |
| Cnode_removed_from_group_exception | Indicates that an RPC call to a node failed because the node was removed from the Replicated Object's subgroup (and possibly from the enclosing Group entirely) after the RPC message was sent but before a reply was received |
| COpcode | An RPC function call can be uniquely identified by the tuple (class, subgroup ID, function ID, is-reply), which is what this struct encapsulates |
| Cpartial_wrapped | Template that pairs a FunctionTag with a pointer-to-member-function |
| CPendingBase | Abstract base type for PendingResults |
| CPendingResults | Data structure that holds a set of promises for a single RPC function call; the promises transmit one response (either a value or an exception) for each node that was called |
| CPendingResults< void > | Specialization of PendingResults for void functions, which do not generate replies |
| ►CQueryResults | Data structure that (indirectly) holds a set of futures for a single RPC function call; there is one future for each node contacted to make the call, and it will eventually contain that node's reply |
| CReplyMap | |
| ►CQueryResults< void > | Specialization of QueryResults for void functions, which do not generate replies |
| CReplyMap | |
| Crecv_ret | Return type of all the RemoteInvocable::receive_* methods |
| Cremote_exception_occurred | Indicates that an RPC call failed because executing the RPC function on the remote node resulted in an exception |
| CRemoteInvocable | |
| CRemoteInvocable< Tag, std::function< Ret(Args...)> > | Provides functions to implement handling RPC calls to a single function, identified by its compile-time "tag" or opcode |
| CRemoteInvocableClass | Transforms a class into a "replicated object" with methods that can be invoked by RPC, given a place to store RPC message handlers (which should be the "receivers map" of RPCManager) |
| CRemoteInvocableClass< IdentifyingClass > | Specialization of RemoteInvocableClass for classes that have no RPC methods |
| CRemoteInvocablePairs | |
| CRemoteInvocablePairs< wrapped< id, FunType > > | Base case for RemoteInvocablePairs, where the template parameter pack contains only a single wrapped<id, FunType> |
| CRemoteInvocablePairs< wrapped< id, FunType >, rest... > | This struct exists purely to inherit from a series of RemoteInvoker and RemoteInvocables; it inherits one pair of RemoteInvoker/RemoteInvocable for each wrapped<id, FunType> type in its template parameter pack |
| CRemoteInvoker | |
| ►CRemoteInvoker< Tag, std::function< Ret(Args...)> > | Provides functions to implement RPC sends for function calls to a single function, identified by its compile-time "tag" or ID |
| Csend_return | Return type for the send function |
| CRemoteInvokerForClass | Transforms a class into an RPC client for the methods of that class, given a place to store RPC message handlers (which should be the "receivers map" of RPCManager) |
| CRemoteInvokerForClass< IdentifyingClass > | Specialization of RemoteInvokerForClass for classes that have no RPC methods |
| CRemoteInvokers | Technically, RemoteInvokers is a specialization of this template, but it's the only specialization, so this template does nothing |
| CRemoteInvokers< wrapped< Tag, FunType > > | Base case for RemoteInvokers, where the template parameter pack contains only a single wrapped<id, FunType> |
| CRemoteInvokers< wrapped< Tag, FunType >, RestWrapped... > | This struct exists purely to inherit from a list of RemoteInvokers, one for each wrapped<> type in its template parameter pack |
| ►CRPCManager | |
| Cfifo_req | |
| Csender_removed_from_group_exception | Indicates that an RPC call from this node was aborted because this node was removed from its subgroup/shard (and reassigned to another one) during the view change |
| CString | This "compile-time String" puts a short sequence of characters into a type's template parameter, allowing it to be accessed at compile-time in a constexpr hash function |
| Cwrapped | This matches uses of wrapped<> where the second argument is not a function, and does nothing |
| Cwrapped< Tag, std::function< Ret(Arguments...)> > | Template that pairs a FunctionTag with a function pointer, thus "naming" the function with a tag (ID) that is a compile-time value |
| C_Group | |
| CCallbackSet | Bundles together a set of callback functions for message delivery events |
| CConf | The single configuration file for derecho |
| CCrossProductPolicy | An alternate type of subgroup allocation policy for subgroup types whose membership will be defined as a cross-product of other subgroups |
| CDefaultSubgroupAllocator | Functor of type shard_view_generator_t that implements the default subgroup allocation algorithm, parameterized based on a policy for each subgroup type (i.e |
| Cderecho_exception | Base exception class for all exceptions raised by Derecho |
| CDerechoParams | Bundles together a set of low-level parameters for configuring Derecho groups |
| CDerechoSST | The GMS and derecho_group will share the same SST for efficiency |
| Cempty_reference_exception | Exception that means a reference-like type is "empty" (does not contain a valid object) |
| CExternalCaller | |
| CGroup | The top-level object for creating a Derecho group |
| CGroupProjection | |
| CGroupReference | |
| CIDeserializationContext | The Deserialization Interface to be implemented by user applications |
| Cinvalid_node_exception | Exception that means the user requested an operation targeting a specific node and that node was not as valid target, e.g |
| Cinvalid_subgroup_exception | Exception that means the user made an invalid request for a subgroup handle, such as by supplying an out-of-bounds subgroup index |
| CJoinResponse | Bundles together a JoinResponseCode and the leader's node ID, which it also needs to send to the new node that wants to join |
| ►CLockedQueue | A little helper class that implements a threadsafe queue by requiring all clients to lock a mutex before accessing the queue |
| CLockedListAccess | |
| CLockedReference | A little helper class that wraps together a reference and a lock on a related mutex |
| CMessageBuffer | Represents a block of memory used to store a message |
| CMulticastGroup | Implements the low-level mechanics of tracking multicasts in a Derecho group, using RDMC to deliver messages and SST to track their arrival and stability |
| CPersistenceManager | PersistenceManager is responsible for persisting all the data in a group |
| CPersistsFields | This is a marker interface for user-defined Replicated Objects (i.e |
| CRaggedTrim | Represents the data needed to log a "ragged trim" decision to disk |
| CRawObject | An empty class to be used as the "replicated type" for a subgroup that doesn't implement a Replicated Object |
| CRDMCMessage | A structure containing an RDMC message (which consists of some bytes in a registered memory region) and some associated metadata |
| CReplicated | |
| CReplicatedObject | Common interface for all types of Replicated<T>, specifying some methods for state transfer and persistence |
| CRestartLeaderState | |
| CRestartState | |
| CShardAllocationPolicy | A data structure defining the parameters of the default subgroup allocation function for a single subgroup; it specifies how one subgroup is divided into shards |
| CShardIterator | |
| CSSTMessage | |
| Csubgroup_provisioning_exception | An exception that indicates that a subgroup membership function was unable to finish executing because its enclosing Group was not in a valid state |
| CSubgroupAllocationPolicy | A data structure defining the parameters of the default subgroup allocation function for a single subgroup type |
| CSubgroupInfo | Container for whatever information is needed to describe a Group's subgroups and shards |
| CSubgroupSettings | A collection of settings for a single subgroup that this node is a member of |
| CSubView | The subset of a View associated with a single shard, or a single subgroup if the subgroup is non-sharded |
| CView | |
| CViewManager | |
| ►Nmutils | |
| CByteRepresentable | A non-POD type which wishes to mark itself byte representable should extend this class |
| CBytes | |
| CContextDeleter | |
| CContextDeleter< void > | |
| CDeserializationManager | The manager for any RemoteDeserializationContexts |
| Cdsr_info | |
| Cis_list | |
| Cis_list< std::list< T > > | |
| Cis_map | |
| Cis_map< std::map< K, V > > | |
| Cis_pair | |
| Cis_pair< std::pair< T, U > > | |
| Cis_string | |
| Cis_string< const std::string > | |
| Cis_string< std::string > | |
| Cmarshalled | The "marshalled" type is a wrapper for already-serialized types; |
| CRemoteDeserializationContext | If a class which implements ByteRepresentable requires a context in order to correctly deserialize, that context should be represented as a class that extends RemoteDeserializationContext |
| ►Nobjectstore | |
| CBlob | |
| CDeltaObjectStoreCore | |
| CIObjectStoreAPI | |
| CIObjectStoreService | |
| CIReplica | |
| CObject | |
| CObjectStoreService | |
| CPersistentLoggedObjectStore | |
| CVolatileUnloggedObjectStore | |
| ►Npersistent | This file include all common types internal to derecho and not necessarily being known by a client program |
| C_NameMaker | |
| CFilePersistLog | |
| Chlc_index_entry | |
| Chlc_index_entry_comp | |
| CIDeltaObjectFactory | |
| CIDeltaSupport | |
| CITemporalQueryFrontierProvider | |
| Clog_entry | |
| Clog_entry.fields | |
| Cmeta_header | |
| Cmeta_header.fields | |
| CPersistent | |
| CPersistentRegistry | PersistentRegistry is a book for all the Persistent<T> or Volatile<T> variables |
| CPersistLog | |
| CVolatile | |
| ►Nrdma | Contains functions and classes for low-level RDMA operations, such as setting up memory regions and queue pairs |
| Ccm_con_data_t | |
| Ccompletion_handler_set | Listener to detect new incoming connections |
| Ccompletion_queue | A C++ wrapper for the libfabric fid_cq struct and its associated functions |
| Cconfig_t | |
| Cconfiguration_failure | |
| Cconnection_broken | |
| Ccq_creation_failure | |
| Ccreation_failure | |
| Cendpoint | A C++ wrapper for the libfabric fid_ep struct and its associated functions |
| Cep_creation_failure | |
| Cexception | |
| Cfeature_set | |
| Cibv_resources | |
| Cinvalid_args | |
| Clf_ctxt | Global states |
| Cmanaged_endpoint | |
| Cmanaged_queue_pair | |
| Cmanager_endpoint | |
| Cmanager_queue_pair | |
| Cmemory_region | A wrapper for fi_close |
| Cmessage_type | |
| Cmessage_types_exhausted | |
| Cmr_creation_failure | |
| Cqp_creation_failure | |
| Cqueue_pair | A C++ wrapper for the IB Verbs ibv_qp struct and its associated functions |
| Cremote_memory_region | |
| ►Ctask | |
| Ctask_impl | |
| Cunsupported_feature | |
| ►Nrdmc | |
| Cbarrier_group | |
| Cconnection_broken | |
| Cexception | |
| Cgroup_busy | |
| Cinvalid_args | |
| Cnonroot_sender | |
| Creceive_destination | |
| ►Nsst | |
| ►Nutil | |
| CPollingData | |
| C_resources | Represents the set of RDMA resources needed to maintain a two-way connection to a single remote node |
| C_SSTField | Internal helper class, never exposed to the client |
| Ccm_con_data_t | Structure to exchange the data needed to connect the Queue Pairs |
| Cglobal_resources | Structure containing global system resources |
| Clf_ctxt | Global States |
| Clf_sender_ctxt | |
| Cmulticast_group | |
| Cmulticast_sst | |
| CP2PConnections | |
| CP2PParams | |
| ►CPredicates | |
| Cpred_handle | |
| Cresources | A public-facing version of the internal _resources class that extends it with more convenient functions |
| Cresources_two_sided | A public-facing version of the internal _resources class that extends it with functions that support two-sided sends and receives |
| CSST | |
| CSSTField | Clients should use instances of this class with the appropriate template parameter to declare fields in their SST; for example, SSTField<int> is the type of an integer-valued SST field |
| CSSTFieldVector | Clients should use instances of this class to declare vector-like fields in their SST; the template parameter is the type of the vector's elements, just like with std::vector |
| CSSTParams | Constructor parameter pack for SST |
| Cverbs_sender_ctxt | |
| ►Ntcp | |
| Cconnection_failure | |
| Cconnection_listener | |
| Cexception | |
| Csocket | |
| Ctcp_connections | |
| Cbinomial_schedule | |
| Cchain_schedule | |
| Cevent | |
| ►CGetPot | |
| Cvariable | |
| Cgroup | |
| CHLC | |
| CIntegerWithDelta | |
| CLoggerFactory | |
| CParsedImmediate | |
| CParsedTag | |
| Cpolling_group | |
| CReplicatedT | |
| Cs1 | |
| Cs2 | |
| Cs3 | |
| Cs4 | |
| Cs5 | |
| ►Cschedule | |
| Cblock_transfer | |
| Csend_stats | |
| Csequential_schedule | |
| Cstat | |
| CStringOrCharP | |
| CTestSerialization | |
| Ctree_schedule | |
| CTypeInfo | |
| CTypeInfo< bool > | |
| CTypeInfo< char > | |
| CTypeInfo< const char * > | |
| CTypeInfo< double > | |
| CTypeInfo< float > | |
| CTypeInfo< int > | |
| CTypeInfo< long > | |
| CTypeInfo< short > | |
| CTypeInfo< std::string > | |
| CTypeInfo< unsigned char > | |
| CTypeInfo< unsigned int > | |
| CTypeInfo< unsigned long > | |
| CTypeInfo< unsigned short > | |
| CVariableBytes | |
| CX | |