mongo::DBClientReplicaSet Class Reference

#include <dbclient_rs.h>

Inheritance diagram for mongo::DBClientReplicaSet:
Inheritance graph
[legend]

List of all members.

Classes

struct  AuthInfo

Public Member Functions

virtual bool auth (const string &dbname, const string &username, const string &pwd, string &errmsg, bool digestPassword=true)
virtual bool call (Message &toSend, Message &response, bool assertOk=true, string *actualServer=0)
virtual bool callRead (Message &toSend, Message &response)
virtual void checkResponse (const char *data, int nReturned)
bool connect ()
 DBClientReplicaSet (const string &name, const vector< HostAndPort > &servers)
virtual BSONObj findOne (const string &ns, const Query &query, const BSONObj *fieldsToReturn=0, int queryOptions=0)
string getServerAddress () const
virtual void insert (const string &ns, const vector< BSONObj > &v)
virtual void insert (const string &ns, BSONObj obj)
virtual bool isFailed () const
void isntMaster ()
virtual void killCursor (long long cursorID)
DBClientConnectionmasterConn ()
virtual auto_ptr< DBClientCursorquery (const string &ns, Query query, int nToReturn=0, int nToSkip=0, const BSONObj *fieldsToReturn=0, int queryOptions=0, int batchSize=0)
virtual void remove (const string &ns, Query obj, bool justOne=0)
virtual void say (Message &toSend)
DBClientConnectionslaveConn ()
string toString ()
virtual
ConnectionString::ConnectionType 
type () const
virtual void update (const string &ns, Query query, BSONObj obj, bool upsert=0, bool multi=0)
virtual ~DBClientReplicaSet ()

Protected Member Functions

virtual void sayPiggyBack (Message &toSend)

Private Member Functions

void _auth (DBClientConnection *conn)
DBClientConnectioncheckMaster ()
DBClientConnectioncheckSlave ()

Private Attributes

list< AuthInfo_auths
scoped_ptr< DBClientConnection_master
HostAndPort _masterHost
ReplicaSetMonitorPtr _monitor
scoped_ptr< DBClientConnection_slave
HostAndPort _slaveHost

Detailed Description

Use this class to connect to a replica set of servers. The class will manage checking for which server in a replica set is master, and do failover automatically.

This can also be used to connect to replica pairs since pairs are a subset of sets

On a failover situation, expect at least one operation to return an error (throw an exception) before the failover is complete. Operations are not retried.

Definition at line 166 of file dbclient_rs.h.


Constructor & Destructor Documentation

mongo::DBClientReplicaSet::DBClientReplicaSet ( const string &  name,
const vector< HostAndPort > &  servers 
)

Call connect() after constructing. autoReconnect is always on for DBClientReplicaSet connections.

virtual mongo::DBClientReplicaSet::~DBClientReplicaSet (  )  [virtual]

Member Function Documentation

void mongo::DBClientReplicaSet::_auth ( DBClientConnection conn  )  [private]
virtual bool mongo::DBClientReplicaSet::auth ( const string &  dbname,
const string &  username,
const string &  pwd,
string &  errmsg,
bool  digestPassword = true 
) [virtual]

Authorize. Authorizes all nodes as needed

Reimplemented from mongo::DBClientWithCommands.

virtual bool mongo::DBClientReplicaSet::call ( Message toSend,
Message response,
bool  assertOk = true,
string *  actualServer = 0 
) [virtual]

actualServer is set to the actual server where they call went if there was a choice (SlaveOk)

Implements mongo::DBConnector.

virtual bool mongo::DBClientReplicaSet::callRead ( Message toSend,
Message response 
) [inline, virtual]

Implements mongo::DBClientBase.

Definition at line 234 of file dbclient_rs.h.

DBClientConnection* mongo::DBClientReplicaSet::checkMaster (  )  [private]
virtual void mongo::DBClientReplicaSet::checkResponse ( const char *  data,
int  nReturned 
) [inline, virtual]

Reimplemented from mongo::DBConnector.

Definition at line 212 of file dbclient_rs.h.

DBClientConnection* mongo::DBClientReplicaSet::checkSlave (  )  [private]
bool mongo::DBClientReplicaSet::connect (  ) 

Returns false if nomember of the set were reachable, or neither is master, although, when false returned, you can still try to use this connection object, it will try reconnects.

virtual BSONObj mongo::DBClientReplicaSet::findOne ( const string &  ns,
const Query query,
const BSONObj fieldsToReturn = 0,
int  queryOptions = 0 
) [virtual]

throws userassertion "no master found"

Reimplemented from mongo::DBClientInterface.

string mongo::DBClientReplicaSet::getServerAddress (  )  const [inline, virtual]

Implements mongo::DBClientInterface.

Definition at line 226 of file dbclient_rs.h.

virtual void mongo::DBClientReplicaSet::insert ( const string &  ns,
const vector< BSONObj > &  v 
) [virtual]

insert multiple objects. Note that single object insert is asynchronous, so this version is only nominally faster and not worth a special effort to try to use.

Reimplemented from mongo::DBClientBase.

virtual void mongo::DBClientReplicaSet::insert ( const string &  ns,
BSONObj  obj 
) [virtual]

insert an object into the database

Reimplemented from mongo::DBClientBase.

virtual bool mongo::DBClientReplicaSet::isFailed (  )  const [inline, virtual]

Implements mongo::DBClientBase.

Definition at line 220 of file dbclient_rs.h.

void mongo::DBClientReplicaSet::isntMaster (  ) 
virtual void mongo::DBClientReplicaSet::killCursor ( long long  cursorID  )  [virtual]

Implements mongo::DBClientBase.

DBClientConnection& mongo::DBClientReplicaSet::masterConn (  ) 
virtual auto_ptr<DBClientCursor> mongo::DBClientReplicaSet::query ( const string &  ns,
Query  query,
int  nToReturn = 0,
int  nToSkip = 0,
const BSONObj fieldsToReturn = 0,
int  queryOptions = 0,
int  batchSize = 0 
) [virtual]

throws userassertion "no master found"

Reimplemented from mongo::DBClientBase.

virtual void mongo::DBClientReplicaSet::remove ( const string &  ns,
Query  q,
bool  justOne = 0 
) [virtual]

remove matching objects from the database

Parameters:
justOne if this true, then once a single match is found will stop

Reimplemented from mongo::DBClientBase.

virtual void mongo::DBClientReplicaSet::say ( Message toSend  )  [inline, virtual]

Implements mongo::DBClientBase.

Definition at line 233 of file dbclient_rs.h.

virtual void mongo::DBClientReplicaSet::sayPiggyBack ( Message toSend  )  [inline, protected, virtual]

Implements mongo::DBConnector.

Definition at line 238 of file dbclient_rs.h.

DBClientConnection& mongo::DBClientReplicaSet::slaveConn (  ) 
string mongo::DBClientReplicaSet::toString (  )  [inline, virtual]

Implements mongo::DBClientWithCommands.

Definition at line 224 of file dbclient_rs.h.

virtual ConnectionString::ConnectionType mongo::DBClientReplicaSet::type (  )  const [inline, virtual]

Implements mongo::DBClientBase.

Definition at line 228 of file dbclient_rs.h.

virtual void mongo::DBClientReplicaSet::update ( const string &  ns,
Query  query,
BSONObj  obj,
bool  upsert = 0,
bool  multi = 0 
) [virtual]

updates objects matching query

Reimplemented from mongo::DBClientBase.


Member Data Documentation

Definition at line 272 of file dbclient_rs.h.

Definition at line 250 of file dbclient_rs.h.

Definition at line 249 of file dbclient_rs.h.

Definition at line 247 of file dbclient_rs.h.

Definition at line 253 of file dbclient_rs.h.

Definition at line 252 of file dbclient_rs.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


mongodb
Author(s): Nate Koenig
autogenerated on Fri Jan 11 12:15:54 2013