mongo::ClientCursor Class Reference

#include <clientcursor.h>

List of all members.

Classes

class  CleanupPointer
class  Pointer
struct  YieldData
struct  YieldLock

Public Member Functions

bool advance ()
Cursorc () const
 ClientCursor (int queryOptions, const shared_ptr< Cursor > &c, const string &ns, BSONObj query=BSONObj())
BSONObj current ()
bool currentIsDup ()
bool currentMatches ()
BSONObj currKey () const
DiskLoc currLoc ()
CursorId cursorid () const
Databasedb () const
BSONElement getFieldDotted (const string &name, bool *fromKey=0)
bool getFieldsDotted (const string &name, BSONElementSet &ret)
unsigned idleTime () const
void incPos (int n)
BSONObj indexKeyPattern ()
bool isMultiKey () const
DiskLoc lastLoc () const
void mayUpgradeStorage ()
bool modifiedKeys () const
string ns () const
bool ok ()
int pos () const
bool prepareToYield (YieldData &data)
const BSONObjquery () const
int queryOptions () const
void setDoingDeletes (bool doingDeletes)
void setPos (int n)
bool shouldTimeout (unsigned millis)
void slaveReadTill (const OpTime &t)
void storeOpForSlave (DiskLoc last)
void updateLocation ()
void updateSlaveLocation (CurOp &curop)
bool yield (int microsToSleep=-1)
bool yieldSometimes ()
 ~ClientCursor ()

Static Public Member Functions

static void aboutToDelete (const DiskLoc &dl)
static void appendStats (BSONObjBuilder &result)
static void assertNoCursors ()
static int erase (int n, long long *ids)
static bool erase (CursorId id)
static void find (const string &ns, set< CursorId > &all)
static ClientCursorfind (CursorId id, bool warn=true)
static void idleTimeReport (unsigned millis)
static void informAboutToDeleteBucket (const DiskLoc &b)
static void invalidate (const char *nsPrefix)
static unsigned numCursors ()
static bool recoverFromYield (const YieldData &data)
static void staticYield (int micros, const StringData &ns)
static int yieldSuggest ()

Public Attributes

shared_ptr< Projectionfields
Message originalMessage
shared_ptr< ParsedQuerypq

Private Member Functions

CCByLocbyLoc ()
void noTimeout ()
void setLastLoc_inlock (DiskLoc)

Static Private Member Functions

static CursorId allocCursorId_inlock ()
static ClientCursorfind_inlock (CursorId id, bool warn=true)

Private Attributes

const shared_ptr< Cursor_c
CursorId _cursorid
Database_db
bool _doingDeletes
unsigned _idleAgeMillis
map< string, int > _indexedFields
DiskLoc _lastLoc
const string _ns
unsigned _pinValue
int _pos
const BSONObj _query
int _queryOptions
OpTime _slaveReadTill
ElapsedTracker _yieldSometimesTracker

Static Private Attributes

static boost::recursive_mutex ccmutex
static CCById clientCursorsById
static long long numberTimedOut

Friends

class CmdCursorInfo

Detailed Description

Definition at line 71 of file clientcursor.h.


Constructor & Destructor Documentation

mongo::ClientCursor::ClientCursor ( int  queryOptions,
const shared_ptr< Cursor > &  c,
const string &  ns,
BSONObj  query = BSONObj() 
)
mongo::ClientCursor::~ClientCursor (  ) 

Member Function Documentation

static void mongo::ClientCursor::aboutToDelete ( const DiskLoc dl  )  [static]
bool mongo::ClientCursor::advance (  )  [inline]

Definition at line 232 of file clientcursor.h.

static CursorId mongo::ClientCursor::allocCursorId_inlock (  )  [static, private]
static void mongo::ClientCursor::appendStats ( BSONObjBuilder result  )  [static]
static void mongo::ClientCursor::assertNoCursors (  )  [static]
CCByLoc& mongo::ClientCursor::byLoc (  )  [inline, private]

Definition at line 343 of file clientcursor.h.

Cursor* mongo::ClientCursor::c (  )  const [inline]

Definition at line 221 of file clientcursor.h.

BSONObj mongo::ClientCursor::current (  )  [inline]

Definition at line 233 of file clientcursor.h.

bool mongo::ClientCursor::currentIsDup (  )  [inline]

Definition at line 252 of file clientcursor.h.

bool mongo::ClientCursor::currentMatches (  )  [inline]

Definition at line 254 of file clientcursor.h.

BSONObj mongo::ClientCursor::currKey (  )  const [inline]

Definition at line 235 of file clientcursor.h.

DiskLoc mongo::ClientCursor::currLoc (  )  [inline]

Definition at line 234 of file clientcursor.h.

CursorId mongo::ClientCursor::cursorid (  )  const [inline]

Definition at line 152 of file clientcursor.h.

Database* mongo::ClientCursor::db (  )  const [inline]

Definition at line 154 of file clientcursor.h.

static int mongo::ClientCursor::erase ( int  n,
long long *  ids 
) [static]
Returns:
number of cursors found
static bool mongo::ClientCursor::erase ( CursorId  id  )  [inline, static]

Definition at line 282 of file clientcursor.h.

static void mongo::ClientCursor::find ( const string &  ns,
set< CursorId > &  all 
) [static]
static ClientCursor* mongo::ClientCursor::find ( CursorId  id,
bool  warn = true 
) [inline, static]

Definition at line 273 of file clientcursor.h.

static ClientCursor* mongo::ClientCursor::find_inlock ( CursorId  id,
bool  warn = true 
) [inline, static, private]

Definition at line 263 of file clientcursor.h.

BSONElement mongo::ClientCursor::getFieldDotted ( const string &  name,
bool *  fromKey = 0 
)

same as BSONObj::getFieldDotted if it can be retrieved from key, it is

Returns:
if this was retrieved from key
bool mongo::ClientCursor::getFieldsDotted ( const string &  name,
BSONElementSet ret 
)

same as BSONObj::getFieldsDotted if it can be retrieved from key, it is

Returns:
if this was retrieved from key
unsigned mongo::ClientCursor::idleTime (  )  const [inline]

Definition at line 320 of file clientcursor.h.

static void mongo::ClientCursor::idleTimeReport ( unsigned  millis  )  [static]
void mongo::ClientCursor::incPos ( int  n  )  [inline]

Definition at line 224 of file clientcursor.h.

BSONObj mongo::ClientCursor::indexKeyPattern (  )  [inline]

Definition at line 227 of file clientcursor.h.

static void mongo::ClientCursor::informAboutToDeleteBucket ( const DiskLoc b  )  [static]
static void mongo::ClientCursor::invalidate ( const char *  nsPrefix  )  [static]
bool mongo::ClientCursor::isMultiKey (  )  const [inline]

Definition at line 229 of file clientcursor.h.

DiskLoc mongo::ClientCursor::lastLoc (  )  const [inline]

Definition at line 158 of file clientcursor.h.

void mongo::ClientCursor::mayUpgradeStorage (  )  [inline]

Definition at line 304 of file clientcursor.h.

bool mongo::ClientCursor::modifiedKeys (  )  const [inline]

Definition at line 228 of file clientcursor.h.

void mongo::ClientCursor::noTimeout (  )  [inline, private]

Definition at line 341 of file clientcursor.h.

string mongo::ClientCursor::ns (  )  const [inline]

Definition at line 153 of file clientcursor.h.

static unsigned mongo::ClientCursor::numCursors (  )  [inline, static]

Definition at line 331 of file clientcursor.h.

bool mongo::ClientCursor::ok (  )  [inline]

Definition at line 231 of file clientcursor.h.

int mongo::ClientCursor::pos (  )  const [inline]

Definition at line 222 of file clientcursor.h.

bool mongo::ClientCursor::prepareToYield ( YieldData data  ) 
const BSONObj& mongo::ClientCursor::query (  )  const [inline]

Definition at line 155 of file clientcursor.h.

int mongo::ClientCursor::queryOptions (  )  const [inline]

Definition at line 156 of file clientcursor.h.

static bool mongo::ClientCursor::recoverFromYield ( const YieldData data  )  [static]
void mongo::ClientCursor::setDoingDeletes ( bool  doingDeletes  )  [inline]

Definition at line 322 of file clientcursor.h.

void mongo::ClientCursor::setLastLoc_inlock ( DiskLoc   )  [private]
void mongo::ClientCursor::setPos ( int  n  )  [inline]

Definition at line 225 of file clientcursor.h.

bool mongo::ClientCursor::shouldTimeout ( unsigned  millis  ) 
Parameters:
millis amount of idle passed time since last call
void mongo::ClientCursor::slaveReadTill ( const OpTime t  )  [inline]

Definition at line 324 of file clientcursor.h.

static void mongo::ClientCursor::staticYield ( int  micros,
const StringData ns 
) [static]
void mongo::ClientCursor::storeOpForSlave ( DiskLoc  last  ) 
void mongo::ClientCursor::updateLocation (  ) 
void mongo::ClientCursor::updateSlaveLocation ( CurOp curop  ) 
bool mongo::ClientCursor::yield ( int  microsToSleep = -1  ) 
Parameters:
microsToSleep -1 : ask client >=0 : sleep for that amount do a dbtemprelease note: caller should check matcher.docMatcher().atomic() first and not yield if atomic - we don't do herein as this->matcher (above) is only initialized for true queries/getmore. (ie not set for remote/update)
Returns:
if the cursor is still valid. if false is returned, then this ClientCursor should be considered deleted - in fact, the whole database could be gone.
bool mongo::ClientCursor::yieldSometimes (  ) 
Returns:
same as yield()
static int mongo::ClientCursor::yieldSuggest (  )  [static]

Friends And Related Function Documentation

friend class CmdCursorInfo [friend]

Definition at line 72 of file clientcursor.h.


Member Data Documentation

const shared_ptr<Cursor> mongo::ClientCursor::_c [private]

Definition at line 352 of file clientcursor.h.

Definition at line 347 of file clientcursor.h.

Definition at line 350 of file clientcursor.h.

Definition at line 370 of file clientcursor.h.

Definition at line 362 of file clientcursor.h.

map<string,int> mongo::ClientCursor::_indexedFields [private]

Definition at line 353 of file clientcursor.h.

Definition at line 361 of file clientcursor.h.

const string mongo::ClientCursor::_ns [private]

Definition at line 349 of file clientcursor.h.

unsigned mongo::ClientCursor::_pinValue [private]

Definition at line 368 of file clientcursor.h.

Definition at line 354 of file clientcursor.h.

Definition at line 356 of file clientcursor.h.

Definition at line 357 of file clientcursor.h.

Definition at line 359 of file clientcursor.h.

Definition at line 371 of file clientcursor.h.

boost::recursive_mutex mongo::ClientCursor::ccmutex [static, private]

Definition at line 384 of file clientcursor.h.

Definition at line 382 of file clientcursor.h.

Definition at line 375 of file clientcursor.h.

long long mongo::ClientCursor::numberTimedOut [static, private]

Definition at line 383 of file clientcursor.h.

Definition at line 376 of file clientcursor.h.

Definition at line 374 of file clientcursor.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