anonymous_namespace{Benchmark.cc}::OptionParser | Parses argv for the main function |
anonymous_namespace{HelloWorld.cc}::OptionParser | Parses argv for the main function |
anonymous_namespace{Main.cc}::OptionParser | Parses argv for the main function |
anonymous_namespace{Main.cc}::PidFile | RAII-style class to manage a file containing the process ID |
anonymous_namespace{Reconfigure.cc}::OptionParser | Parses argv for the main function |
anonymous_namespace{Tool.cc}::OptionParser | Parses argv for the main function |
anonymous_namespace{TreeOps.cc}::OptionParser | Parses argv for the main function |
LogCabin::Client::anonymous_namespace{MockClientImpl.cc}::RAIISwap< T > | |
LogCabin::Client::anonymous_namespace{MockClientImpl.cc}::TreeLeaderRPC | This class intercepts LeaderRPC calls from ClientImpl |
LogCabin::Client::anonymous_namespace{MockClientImpl.cc}::TreeLeaderRPC::Call | |
LogCabin::Client::anonymous_namespace{ServerControl.cc}::OptionParser | Parses argv for the main function |
LogCabin::Client::anonymous_namespace{ServerControl.cc}::ServerControl | Wrapper for invoking ServerControl RPCs |
LogCabin::Client::Backoff | A simple backoff mechanism |
LogCabin::Client::ClientImpl | The implementation of the client library |
LogCabin::Client::ClientImpl::ExactlyOnceRPCHelper | This class helps with providing exactly-once semantics for read-write RPCs |
LogCabin::Client::Cluster | A handle to the LogCabin cluster |
LogCabin::Client::ConditionNotMetException | See Status::CONDITION_NOT_MET |
LogCabin::Client::ConfigurationExceptionBad | See ConfigurationResult::BAD |
LogCabin::Client::ConfigurationExceptionChanged | See ConfigurationResult::CHANGED |
LogCabin::Client::ConfigurationResult | Returned by Cluster::setConfiguration |
LogCabin::Client::Exception | Base class for LogCabin client exceptions |
LogCabin::Client::GetConfigurationResult | Returned by Cluster::getConfiguration2() |
LogCabin::Client::InvalidArgumentException | See Status::INVALID_ARGUMENT |
LogCabin::Client::LeaderRPC | This is the implementation of LeaderRPCBase that uses the RPC system |
LogCabin::Client::LeaderRPC::Call | See LeaderRPCBase::Call |
LogCabin::Client::LeaderRPCBase | This class is used to send RPCs from clients to the leader of the LogCabin cluster |
LogCabin::Client::LeaderRPCBase::Call | An asynchronous version of call() |
LogCabin::Client::LeaderRPCMock | This class is used in unit testing to interpose when clients send RPCs to the leader of the LogCabin cluster |
LogCabin::Client::LeaderRPCMock::Call | See LeaderRPCBase::Call |
LogCabin::Client::LookupException | See Status::LOOKUP_ERROR |
LogCabin::Client::MockClientImpl | A mock implementation of the client library that operates against a temporary, local, in-memory implementation |
LogCabin::Client::Result | Returned by Tree operations; contain a status code and an error message |
LogCabin::Client::Server | A member of the cluster Configuration |
LogCabin::Client::SessionManager | Used to create RPC::ClientSession objects and then immediately call VerifyRecipient RPCs on them |
LogCabin::Client::SessionManager::LockedAssignment< T > | Gets and sets a value while holding a mutex |
LogCabin::Client::TestingCallbacks | When running in testing mode, these callbacks serve as a way for the application to interpose on requests and responses to inject failures and model dynamic scenarios |
LogCabin::Client::TimeoutException | See Status::TIMEOUT |
LogCabin::Client::Tree | Provides access to the hierarchical key-value store |
LogCabin::Client::TreeDetails | Implementation-specific members of Client::Tree |
LogCabin::Client::TypeException | See Status::TYPE_ERROR |
LogCabin::Core::Buffer | A container for opaque data |
LogCabin::Core::Checksum::anonymous_namespace{Checksum.cc}::Algorithms | A container for a set of Algorithm implementations |
LogCabin::Core::ConditionVariable | Similar to std::condition_variable but with improvements for testing, support for monotonic clocks, and less buggy |
LogCabin::Core::Config | Reads and writes configuration files |
LogCabin::Core::Config::ConversionError | |
LogCabin::Core::Config::Exception | Base class for Config exceptions |
LogCabin::Core::Config::FileNotFound | |
LogCabin::Core::Config::KeyNotFound | |
LogCabin::Core::Debug::DebugMessage | When LogCabin wants to print a log message, this is the information that gets included |
LogCabin::Core::HoldingMutex | Proof that the caller is holding some mutex |
LogCabin::Core::Mutex | A wrapper around std::mutex that is useful for testing purposes |
LogCabin::Core::MutexUnlock< Mutex > | Release a mutex upon construction, reacquires it upon destruction |
LogCabin::Core::ProtoBuf::InputStream | An abstract stream from which ProtoBufs may be read |
LogCabin::Core::ProtoBuf::OutputStream | An abstract stream to which ProtoBufs may be written |
LogCabin::Core::Random::anonymous_namespace{Random.cc}::RandomState | Keeps state needed by the random number generator, protected by a mutex |
LogCabin::Core::RollingStat | This class gathers statistics about a given metric over time, like its average, standard deviation, and exponentially weighted moving average |
LogCabin::Core::Time::CSteadyClock | Monotonic clock in nanosecond granularity |
LogCabin::Core::Time::CSystemClock | Wall clock in nanosecond granularity |
LogCabin::Core::Time::MockableClock< _BaseClock > | Reads the current time |
LogCabin::Core::Time::MockableClock< _BaseClock >::Mocker | RAII class to mock out the clock and then restore it |
LogCabin::Core::Time::SteadyTimeConverter | Used to convert one or more SteadyClock::time_point values into values of the SystemClock |
LogCabin::Core::Util::Finally | Calls a function when this object goes out of scope |
LogCabin::Core::Util::ThreadInterruptedException | The thread could not complete its task because it was asked to exit |
LogCabin::Event::File | A File is called by the Event::Loop when a file becomes readable or writable |
LogCabin::Event::File::Monitor | Registers a File handler to be monitored by the Event::Loop |
LogCabin::Event::Loop | This class contains an event loop based on Linux's epoll interface |
LogCabin::Event::Loop::Lock | Lock objects are used to synchronize between the Event::Loop thread and other threads |
LogCabin::Event::Loop::NoOpLockable | Lockable type that compiles out entirely |
LogCabin::Event::Loop::NullTimer | Used in breakTimer, whose purpose is not to handle events but to break runForever() out of epoll_wait |
LogCabin::Event::Signal | A Signal is called by the Event::Loop when a Unix signal is received |
LogCabin::Event::Signal::Blocker | Blocks asynchronous signal delivery on the current thread for the given signal |
LogCabin::Event::Signal::Monitor | Registers a Signal handler to be monitored by the Event::Loop |
LogCabin::Event::Timer | A Timer is called by the Event::Loop when time has elapsed |
LogCabin::Event::Timer::Monitor | Registers a Timer handler to be monitored by the Event::Loop |
LogCabin::Protocol::Common::VersionMessage::Request | |
LogCabin::Protocol::Common::VersionMessage::Response | |
LogCabin::RPC::Address | This class resolves user-friendly addresses for services into socket-level addresses |
LogCabin::RPC::anonymous_namespace{ClientSession.cc}::FileNotifier | Exits an event loop when a file event occurs |
LogCabin::RPC::anonymous_namespace{ClientSession.cc}::TimerNotifier | Exits an event loop when a timer event occurs |
LogCabin::RPC::ClientRPC | This class represents an asynchronous remote procedure call |
LogCabin::RPC::ClientSession | A ClientSession is used to initiate OpaqueClientRPCs |
LogCabin::RPC::ClientSession::MessageSocketHandler | This handles events from messageSocket |
LogCabin::RPC::ClientSession::Response | This contains an expected response for a OpaqueClientRPC object |
LogCabin::RPC::ClientSession::Timer | This is used to time out RPCs and sessions when the server is no longer responding |
LogCabin::RPC::MessageSocket | A MessageSocket is a message-oriented layer on top of a TCP connection |
LogCabin::RPC::MessageSocket::Handler | An interface for handling events generated by a MessageSocket |
LogCabin::RPC::MessageSocket::Header | This is the header that precedes every message across the TCP socket |
LogCabin::RPC::MessageSocket::Inbound | This class stages a message while it is being received |
LogCabin::RPC::MessageSocket::Outbound | This class stages a message while it is being sent |
LogCabin::RPC::MessageSocket::ReceiveSocket | This class is an Event::File monitor that calls readable() when the socket can be read from without blocking |
LogCabin::RPC::MessageSocket::SendSocket | This class is an Event::File monitor that calls writable() when the socket can be written to without blocking |
LogCabin::RPC::OpaqueClientRPC | This class represents an asynchronous remote procedure call |
LogCabin::RPC::OpaqueServer | An OpaqueServer listens for incoming RPCs over TCP connections |
LogCabin::RPC::OpaqueServer::BoundListener | A socket that listens on a particular address |
LogCabin::RPC::OpaqueServer::BoundListenerWithMonitor | Couples a BoundListener with an Event::File::Monitor and destroys them in the right order (monitor first) |
LogCabin::RPC::OpaqueServer::Handler | An interface for handling events generated by an OpaqueServer |
LogCabin::RPC::OpaqueServer::MessageSocketHandler | Receives events from a MessageSocket |
LogCabin::RPC::OpaqueServer::SocketWithHandler | Couples a MessageSocketHandler with a MessageSocket (monitor) and destroys them in the right order (monitor first) |
LogCabin::RPC::OpaqueServerRPC | This class represents the server side of a remote procedure call |
LogCabin::RPC::Protocol::RequestHeaderPrefix | This is the first part of the request header that RPC clients send, common to all versions of the protocol |
LogCabin::RPC::Protocol::RequestHeaderVersion1 | In version 1 of the protocol, this is the header format for requests from clients to servers |
LogCabin::RPC::Protocol::ResponseHeaderPrefix | This is the first part of the response header that servers send, common to all versions of the protocol |
LogCabin::RPC::Protocol::ResponseHeaderVersion1 | In version 1 of the protocol, this is the header format for RPC responses |
LogCabin::RPC::Server | A Server listens for incoming RPCs over TCP connections and dispatches these to Services |
LogCabin::RPC::Server::RPCHandler | Services RPCs |
LogCabin::RPC::ServerRPC | This class represents the server side of a remote procedure call |
LogCabin::RPC::Service | Base class for RPC services |
LogCabin::RPC::ServiceMock | This class is used to mock out a Service for testing a client that sends RPCs |
LogCabin::RPC::ServiceMock::CloseSession | See closeSession() |
LogCabin::RPC::ServiceMock::Expected | See responseQueue |
LogCabin::RPC::ServiceMock::Handler | The base class for RPC handlers |
LogCabin::RPC::ServiceMock::RejectInvalidRequest | See rejectInvalidRequest() |
LogCabin::RPC::ServiceMock::Reply | See reply() |
LogCabin::RPC::ServiceMock::ServiceSpecificError | See serviceSpecificError() |
LogCabin::RPC::ThreadDispatchService | This class is an adaptor to enable multi-threaded services |
LogCabin::Server::ClientService | This is LogCabin's application-facing RPC service |
LogCabin::Server::ControlService | Invoked by logcabinctl client to inspect and manipulate internal server state |
LogCabin::Server::Globals | Holds the LogCabin daemon's top-level objects |
LogCabin::Server::Globals::ExitHandler | Exits from the event loop upon receiving a UNIX signal |
LogCabin::Server::Globals::LogRotateHandler | Re-opens the log file upon receiving a UNIX signal |
LogCabin::Server::RaftConsensus | An implementation of the Raft consensus algorithm |
LogCabin::Server::RaftConsensus::Entry | This is returned by getNextEntry() |
LogCabin::Server::RaftConsensusInternal::anonymous_namespace{RaftConsensus.cc}::StagingProgressing | |
LogCabin::Server::RaftConsensusInternal::anonymous_namespace{RaftConsensus.cc}::StateMachineVersionIntersection | |
LogCabin::Server::RaftConsensusInternal::ClusterClock | This is the rough equivalent of a SteadyClock that can be shared across the network with other Raft servers |
LogCabin::Server::RaftConsensusInternal::Configuration | A configuration defines the servers that are part of the cluster |
LogCabin::Server::RaftConsensusInternal::Configuration::SimpleConfiguration | A list of servers in which a simple majority constitutes a quorum |
LogCabin::Server::RaftConsensusInternal::ConfigurationManager | Ensures the current configuration reflects the latest state of the log and snapshot |
LogCabin::Server::RaftConsensusInternal::Invariants | |
LogCabin::Server::RaftConsensusInternal::Invariants::ConsensusSnapshot | |
LogCabin::Server::RaftConsensusInternal::LocalServer | A type of Server for the local process |
LogCabin::Server::RaftConsensusInternal::Peer | Represents another server in the cluster |
LogCabin::Server::RaftConsensusInternal::Server | A base class for known servers in the cluster, including this process (see LocalServer) and others (see Peer) |
LogCabin::Server::RaftService | |
LogCabin::Server::ServerStats | Manages creation of server statistics, which are used for diagnostics |
LogCabin::Server::ServerStats::Deferred | Members that are constructed later, during enable() |
LogCabin::Server::ServerStats::Lock | Provides read/write access to stats, protected against concurrent access |
LogCabin::Server::ServerStats::SignalHandler | Asks statsDumper thread to dumps stats to the debug log (NOTICE level) on SIGUSR1 signal |
LogCabin::Server::StateMachine | Interprets and executes operations that have been committed into the Raft log |
LogCabin::Server::StateMachine::Session | Tracks state for a particular client |
LogCabin::Storage::FilesystemUtil::File | A File object is just a wrapper around a file descriptor; it represents either an open file, an open directory, or an empty placeholder |
LogCabin::Storage::FilesystemUtil::FileContents | Provides random access to a file |
LogCabin::Storage::Layout | Encapsulates how LogCabin lays out the filesystem, and it handles locking of the storage directory |
LogCabin::Storage::Log | This interface is used by RaftConsensus to store log entries and metadata |
LogCabin::Storage::Log::Sync | An interface for flushing newly appended log entries to stable storage |
LogCabin::Storage::MemoryLog | |
LogCabin::Storage::SegmentedLog | This class persists a log on the filesystem efficiently |
LogCabin::Storage::SegmentedLog::PreparedSegments | A producer/consumer monitor for a queue of files to use for open segments |
LogCabin::Storage::SegmentedLog::Segment | An open or closed segment |
LogCabin::Storage::SegmentedLog::Segment::Record | Describes a log entry record within a segment |
LogCabin::Storage::SegmentedLog::SegmentHeader | This goes at the start of every segment |
LogCabin::Storage::SegmentedLog::Sync | Queues various operations on files, such as writes and fsyncs, to be executed later |
LogCabin::Storage::SegmentedLog::Sync::Op | |
LogCabin::Storage::SimpleFileLog | TODO(ongaro): docs |
LogCabin::Storage::SimpleFileLog::Sync | |
LogCabin::Storage::SnapshotFile::Reader | Assists in reading snapshot files from the local filesystem |
LogCabin::Storage::SnapshotFile::Writer | Assists in writing snapshot files to the local filesystem |
LogCabin::Storage::SnapshotFile::Writer::SharedMMap< T > | Allocates an object that is shared across processes |
LogCabin::Tree::Internal::Directory | An interior object in the Tree; stores other Directories and Files |
LogCabin::Tree::Internal::File | A leaf object in the Tree; stores an opaque blob of data |
LogCabin::Tree::Internal::Path | This is used by Tree to parse symbolic paths into their components |
LogCabin::Tree::Result | Returned by Tree operations; contain a status code and an error message |
LogCabin::Tree::Tree | This is an in-memory, hierarchical key-value store |