hmbdc
simplify-high-performance-messaging-programming
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 Chmbdc::add_if_not_in_tuple< T, Tuple >
 Chmbdc::add_if_not_in_tuple< T, std::tuple< Types... > >
 Chmbdc::function_traits< ReturnType(ClassType::*)(Args...) const >::arg< i >
 Chmbdc::function_traits< ReturnType(ClassType::*)(Args...)>::arg< i >
 Chmbdc::os::BasePtrAllocatorHelping allocating object and its aggregated objects in a continouse memory
 Chmbdc::pattern::BlockingBuffer
 Chmbdc::app::BlockingContext< MessageTuples >A BlockingContext is like a media object that facilitates the communications for the Clients that it is holding. Each Client is powered by a single OS thread. a Client needs to be started once and only once to a single BlockingContext before any messages sending happens - typically in the initialization stage in main(), undefined behavior otherwise
 Chmbdc::app::context_property::broadcast< max_parallel_consumer >Context template parameter inidcating each message is sent to all clients within the Context. This is the default property of a Context
 Chmbdc::pattern::lf_misc::chunk_base_ptr< Seq >
 Chmbdc::text::stringtriesetclang_detail::const_iterator
 Chmbdc::app::blocking_context_detail::context_property_aggregator< MessageTuples >
 Chmbdc::app::context_detail::context_property_aggregator< ContextProperties >
 Chmbdc::app::context_detail::context_property_aggregator< ContextProperties... >
 Chmbdc::app::blocking_context_detail::context_property_aggregator< MessageTuple, MessageTuples... >
 Chmbdc::os::DefaultAllocatorDefault vanilla allocate
 Chmbdc::app::messagehandler_detail::dispatcher< CcClient, Message >
 Chmbdc::app::messagehandler_detail::dispatcher< CcClient, JustBytes >
 Chmbdc::os::DownloadFile
 Chmbdc::os::DownloadMemory
 Chmbdc::time::Duration
 Chmbdc::app::EmptyLogTrailer
 Chmbdc::Endian
 Chmbdc::app::utils::EpollFd
 Cexception
 Chmbdc::os::ExecutionIoExecute a program as a child and capture its stdin stdout and/or stderr
 Chmbdc::function_traits< T >
 Chmbdc::function_traits< ReturnType(ClassType::*)(Args...) const >
 Chmbdc::function_traits< ReturnType(ClassType::*)(Args...)>
 Chmbdc::pattern::GuardedSingleton< Singleton >Base for the Singleton that works with SingletonGuardian
 Chmbdc::pattern::GuardedSingleton< AsyncLoggerT< Ctx > >
 Chmbdc::pattern::GuardedSingleton< EpollTask >
 Chmbdc::pattern::GuardedSingleton< NetContext >
 Chmbdc::pattern::GuardedSingleton< SyncLogger >
 Chmbdc::os::HandleSignalsFunctions to handle signals
 Cstd::hash< hmbdc::text::TypedString< NAME, SIZE > >
 Chmbdc::comm::inet::HashEndpoint< asio_endpoint >
 Chmbdc::comm::inet::HashSockAddrIn< sockaddr_in >
 Chmbdc::app::hasMemoryAttachmentIf a specific hmbdc network transport (for example tcpcast, rmcast, and rnetmap) supports message with memory attachment, the message needs to be derived from this base - as the FIRST base, so it can be handled properly by the hmbdc network transport when sending and receiving it
 Chmbdc::app::hasTag< tag >Each message type has 16 bit tag
 Chmbdc::app::hasTag< 0 >
 Chmbdc::app::hasTag< 1001 >
 Chmbdc::app::hasTag< 1002 >
 Chmbdc::app::hasTag< 101 >
 Chmbdc::app::hasTag< 102 >
 Chmbdc::app::hasTag< 201 >
 Chmbdc::app::hasTag< 202 >
 Chmbdc::app::hasTag< 203 >
 Chmbdc::app::hasTag< 204 >
 Chmbdc::app::hasTag< 205 >
 Chmbdc::app::hasTag< 3 >
 Chmbdc::app::hasTag< 301 >
 Chmbdc::app::hasTag< 302 >
 Chmbdc::app::hasTag< 4 >
 Chmbdc::app::hasTag< 5 >
 Chmbdc::app::hasTag< 6 >
 Chmbdc::app::hasTag< 999 >
 Chmbdc::index_in_tuple< T, Tuple >
 Chmbdc::index_in_tuple< T, std::tuple< T, Types... > >
 Chmbdc::index_in_tuple< T, std::tuple< U, Types... > >
 Chmbdc::index_in_tuple< T, std::tuple<> >
 Chmbdc::forwardtupletofunc_detail::index_tuple<... >
 CInterestsStd tuple holding messages types it can dispatch
 Chmbdc::app::context_property::ipc_attacherContext template parameter indicating the Context is ipc enabled and it can attach to an ipc transport thru a name
 Chmbdc::app::context_property::ipc_creatorContext template parameter indicating the Context is ipc enabled and it can be attached (see ipc_attacher below) to an ipc transport (thru its name)
 Chmbdc::is_first_base_of< Base, Derived >
 Chmbdc::pattern::classic_buffer_detail::iterator
 Chmbdc::pattern::lf_misc::iterator< Seq >
 Chmbdc::pattern::seqarb_detail::SeqArb< PARTICIPANT_COUNT, Seq, THREADSAFE >::J
 Chmbdc::pattern::LockFreeBufferT< MAX_PARALLE_CONSUMER >
 Chmbdc::app::utils::AsyncLoggerT< Ctx >::LogHeader
 Chmbdc::app::LogTrailer
 Chmbdc::forwardtupletofunc_detail::make_indices_impl< I, IndexTuple, Types >
 Chmbdc::forwardtupletofunc_detail::make_indices_impl< 0, index_tuple<>, Types... >
 Chmbdc::forwardtupletofunc_detail::make_indices_impl< I, index_tuple< Indexes... > >
 Chmbdc::forwardtupletofunc_detail::make_indices_impl< I, index_tuple< Indexes... >, T, Types... >
 Chmbdc::max_size_in_tuple< Tuple >
 Chmbdc::max_size_in_tuple< std::tuple< T, Ts... > >
 Chmbdc::app::BlockingContext< MessageTuples >::MCGen< Tuple >
 Chmbdc::app::BlockingContext< MessageTuples >::MCGen< Interests >
 Chmbdc::app::BlockingContext< MessageTuples >::MCGen< std::tuple< Messages... > >
 Chmbdc::merge_tuple_unique< Tuple1, Tuple2 >
 Chmbdc::merge_tuple_unique< Tuple1, std::tuple< T, Types... > >
 Chmbdc::merge_tuple_unique< Tuple1, std::tuple<> >
 Chmbdc::app::MessageHandler< CcClient, Messages >
 Chmbdc::app::MessageHandler< AsyncLoggerT< Ctx >, Messages... >
 Chmbdc::app::MessageHandler< CcClient, M, Messages... >
 Chmbdc::app::MessageHandler< CcClient, Messages... >
 Chmbdc::app::MessageHandler< changeSched, Messages... >
 Chmbdc::app::MessageHandler< Pinger< Sender >, Messages... >
 Chmbdc::app::MessageHandler< Ponger< Sender >, Messages... >
 Chmbdc::app::MessageHandler< ReceiverClient, Messages... >
 Chmbdc::app::MessageHandler< RecvTransportEngine< OutBuffer, MsgArbitrator >, Messages... >
 Chmbdc::app::MessageHandler< RecvTransportEngine< OutBuffer, MsgArbitrator >, Subscribe, Unsubscribe >
 Chmbdc::app::MessageHandler< RecvTransportEngine< OutputBuffer, MsgArbitrator >, Messages... >
 Chmbdc::app::MessageHandler< RecvTransportEngine< OutputBuffer, MsgArbitrator >, Subscribe, Unsubscribe, TopicSource >
 Chmbdc::app::MessageHandler< RecvTransportEngineImpl< OutputBuffer, MsgArbitrator >, Messages... >
 Chmbdc::app::MessageHandler< RecvTransportImpl< OutputBuffer, MsgArbitrator >, Subscribe, Unsubscribe >
 Chmbdc::app::MessageHandler< SenderClient, Messages... >
 Chmbdc::app::MessageHandler< SendTransportEngine, Messages... >
 Chmbdc::app::MessageHandler< StuckClientPurger< Buffer >, Messages... >
 Chmbdc::app::MessageHead
 Chmbdc::pattern::MonoLockFreeBuffer
 Chmbdc::app::context_property::msgless_poolContext template parameter indicating the Context must contain a pool to run Clients and the Clients in the pool shall not receive messages - Unlike the default pool
 Chmbdc::app::utils::NetContextUtil
 Chmbdc::app::messagehandler_detail::no_more
 Chmbdc::app::netmap::RecvTransport::NoOpArbTake all arbitrator (no arbitration at all)
 Chmbdc::app::mcast::RecvTransport::NoOpArbTake all arbitrator (no arbitration at all)
 Chmbdc::app::tcpcast::RecvTransport::NoOpArbTake all arbitrator (no arbitration at all)
 Cnumeric_limits
 Chmbdc::text::lfb_stream::OStringStream< Buffer, BufferItem, STREAMABLE_TYPE_TAG >
 Chmbdc::text::lfb_stream::OStringStream< Ctx::Buffer, MessageWrap< LoggingT< Ctx::MAX_MESSAGE_SIZE > >, LoggingT< Ctx::MAX_MESSAGE_SIZE >::typeTag >
 Chmbdc::app::context_property::partitionContext template parameter inidcating each message is sent to one and only one of the clients within the Context and its attached ipc Contexts if appllies
 Chmbdc::comm::eth::pkt
 Chmbdc::comm::eth::pkt_n< N >
 Chmbdc::pattern::PoolConsumer
 Chmbdc::pattern::PoolMinus
 Chmbdc::pattern::PoolT< Buffer >
 Cptree
 Chmbdc::time::Rater
 Chmbdc::app::tcpcast::recvsession_detail::RecvSession< OutputBuffer, MsgArbitrator >
 Chmbdc::app::netmap::RecvTransportPower a netmap port receiving functions
 Cruntime_error
 Chmbdc::app::netmap::SenderFascade class for sending network messages
 Chmbdc::app::tcpcast::SenderFascade class for sending network messages
 Chmbdc::app::mcast::SenderFascade class for sending network messages
 Chmbdc::app::tcpcast::sendserver_detail::SendServer
 Chmbdc::app::tcpcast::sendsession_detail::SendSession
 Chmbdc::pattern::seqarb_detail::SeqArb< PARTICIPANT_COUNT, Seq, THREADSAFE >
 Chmbdc::pattern::seqarb_detail::SeqArb< PARTICIPANT_COUNT, Seq, false >
 Cset_base_hook
 Chmbdc::numeric::set_bits_count< v >
 Chmbdc::numeric::set_bits_count< 0 >
 Chmbdc::app::BlockingContext< MessageTuples >::setupConduitFor< MsgConduits, Client, DeliverPred, Tuple >
 Chmbdc::app::BlockingContext< MessageTuples >::setupConduitFor< MsgConduits, Client, DeliverPred, std::tuple< M, Messages... > >
 Chmbdc::app::BlockingContext< MessageTuples >::setupConduitFor< MsgConduits, Client, void *, std::tuple< M, Messages... > >
 Chmbdc::app::single_thread_powered_clientTrait class, if a Client can only run on a single specific thread in Pool, derive the Client from it, hmbdc will check to ensure that is the case
 Chmbdc::pattern::seqarb_detail::SingleThreadSeqArb< PARTICIPANT_COUNT, Seq >
 Chmbdc::pattern::SingletonGuardian< Singleton >RAII representing the lifespan of the underlying Singleton which also ganrantees the singularity of underlying Singleton
 Chmbdc::comm::inet::SockAddrInEqual< sockaddr_in >
 Chmbdc::numeric::Stat< T >
 Chmbdc::numeric::Stat< hmbdc::time::Duration >
 Chmbdc::numeric::stathistogram_detail::StatHistogramBase
 Chmbdc::text::lfb_stream::Streamable
 Chmbdc::text::stringtrieset_detail::stringAccessTraits
 Chmbdc::text::StringTrieSetClang
 Chmbdc::time::SysTime
 Chmbdc::time::TimerManager
 Chmbdc::app::context_detail::tm_runner< is_timer_manager >
 Chmbdc::app::blocking_context_detail::tm_runner< is_timer_manager >
 Chmbdc::app::blocking_context_detail::tm_runner< true >
 Chmbdc::app::context_detail::tm_runner< true >
 Chmbdc::app::Trace
 Chmbdc::app::BlockingContext< MessageTuples >::Transport
 Chmbdc::app::tcpcast::Transport
 Chmbdc::app::BlockingContext< MessageTuples >::TransportEntry< Message >
 Chmbdc::app::mcast::TransportMessageHeader
 Chmbdc::app::tcpcast::TransportMessageHeader
 Chmbdc::app::netmap::TransportMessageHeader
 Ctrie
 Ctrie_policy_base
 Chmbdc::text::TypedString< NAME, SIZE >
 Chmbdc::text::TypedString< TOPIC, 64u >
 Chmbdc::comm::eth::virt_header
 Chmbdc::XmitEndian< T >
 Chmbdc::XmitEndian< pid_t >
 Chmbdc::XmitEndian< size_t >
 Chmbdc::XmitEndian< uint16_t >
 Chmbdc::XmitEndianByteField< T, N >
 Chmbdc::XmitEndianByteField< uint64_t, 6 >