LogCabin
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Namespaces | Classes | Typedefs | Enumerations | Functions
LogCabin::Client Namespace Reference

Namespaces

namespace  anonymous_namespace{Client.cc}
namespace  anonymous_namespace{ClientImpl.cc}
namespace  anonymous_namespace{MockClientImpl.cc}
namespace  anonymous_namespace{ServerControl.cc}
namespace  Util

Classes

class  Backoff
 A simple backoff mechanism. More...
class  TreeDetails
 Implementation-specific members of Client::Tree. More...
class  ClientImpl
 The implementation of the client library. More...
class  LeaderRPCBase
 This class is used to send RPCs from clients to the leader of the LogCabin cluster. More...
class  LeaderRPC
 This is the implementation of LeaderRPCBase that uses the RPC system. More...
class  LeaderRPCMock
 This class is used in unit testing to interpose when clients send RPCs to the leader of the LogCabin cluster. More...
class  MockClientImpl
 A mock implementation of the client library that operates against a temporary, local, in-memory implementation. More...
class  SessionManager
 Used to create RPC::ClientSession objects and then immediately call VerifyRecipient RPCs on them. More...
struct  Server
 A member of the cluster Configuration. More...
struct  ConfigurationResult
 Returned by Cluster::setConfiguration. More...
struct  GetConfigurationResult
 Returned by Cluster::getConfiguration2(). More...
struct  Result
 Returned by Tree operations; contain a status code and an error message. More...
class  Exception
 Base class for LogCabin client exceptions. More...
class  InvalidArgumentException
 See Status::INVALID_ARGUMENT. More...
class  LookupException
 See Status::LOOKUP_ERROR. More...
class  TypeException
 See Status::TYPE_ERROR. More...
class  ConditionNotMetException
 See Status::CONDITION_NOT_MET. More...
class  TimeoutException
 See Status::TIMEOUT. More...
class  ConfigurationExceptionBad
 See ConfigurationResult::BAD. More...
class  ConfigurationExceptionChanged
 See ConfigurationResult::CHANGED. More...
class  Tree
 Provides access to the hierarchical key-value store. More...
class  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. More...
class  Cluster
 A handle to the LogCabin cluster. More...

Typedefs

typedef std::pair< std::string,
std::string > 
Condition
 A predicate on tree operations.
typedef std::vector< ServerConfiguration
 Defines the members of the cluster.

Enumerations

enum  Status {
  OK,
  INVALID_ARGUMENT,
  LOOKUP_ERROR,
  TYPE_ERROR,
  CONDITION_NOT_MET,
  TIMEOUT
}
 Status codes returned by Tree operations. More...

Functions

std::ostream & operator<< (std::ostream &os, Status status)
 Print a status code to a stream.
std::ostream & operator<< (std::ostream &os, const LeaderRPCBase::Status &status)
std::ostream & operator<< (std::ostream &os, const LeaderRPCBase::Call::Status &status)

Typedef Documentation

typedef std::pair<std::string, std::string> LogCabin::Client::Condition

A predicate on tree operations.

First component: the absolute path corresponding to the 'path' argument of setCondition(), or empty if no condition is set. Second component: the file contents given as the 'value' argument of setCondition().

Definition at line 46 of file ClientImpl.h.

Defines the members of the cluster.

Used in Cluster::getConfiguration and Cluster::setConfiguration.

Definition at line 92 of file Client.h.


Enumeration Type Documentation

Status codes returned by Tree operations.

Enumerator:
OK 

The operation completed successfully.

INVALID_ARGUMENT 

If an argument is malformed (for example, a path that does not start with a slash).

LOOKUP_ERROR 

If a file or directory that is required for the operation does not exist.

TYPE_ERROR 

If a directory exists where a file is required or a file exists where a directory is required.

CONDITION_NOT_MET 

A predicate which was previously set on operations with Tree::setCondition() was not satisfied.

TIMEOUT 

A timeout specified by Tree::setTimeout() elapsed while waiting for an operation to complete.

It is not known whether the operation has or will complete, only that a positive acknowledgment was not received before the timeout elapsed.

Definition at line 174 of file Client.h.


Function Documentation

std::ostream & LogCabin::Client::operator<< ( std::ostream &  os,
Status  status 
)

Print a status code to a stream.

Definition at line 114 of file Client.cc.

std::ostream& LogCabin::Client::operator<< ( std::ostream &  os,
const LeaderRPCBase::Status &  status 
)

Definition at line 33 of file LeaderRPC.cc.

std::ostream& LogCabin::Client::operator<< ( std::ostream &  os,
const LeaderRPCBase::Call::Status &  status 
)

Definition at line 50 of file LeaderRPC.cc.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines