Poco::MongoDB

class OpMsgMessage

Library: MongoDB
Package: MongoDB
Header: Poco/MongoDB/OpMsgMessage.h

Description

This class represents a request/response (OP_MSG) to send requests and receive responses to/from MongoDB.

Inheritance

Direct Base Classes: Message

All Base Classes: Message

Member Summary

Member Functions: acknowledgedRequest, body, clear, collectionName, commandName, databaseName, documents, flags, read, responseOk, send, setAcknowledgedRequest, setCommandName, setCursor

Inherited Functions: header, messageLength

Enumerations

Flags

MSG_FLAGS_DEFAULT = 0

MSG_CHECKSUM_PRESENT = (1 << 0)

MSG_MORE_TO_COME = (1 << 1)

Sender will send another message and is not prepared for overlapping messages

MSG_EXHAUST_ALLOWED = (1 << 16)

Client is prepared for multiple replies (using the moreToCome bit) to this request

Constructors

OpMsgMessage

OpMsgMessage();

Creates an OpMsgMessage for response.

OpMsgMessage

OpMsgMessage(
    const std::string & databaseName,
    const std::string & collectionName,
    UInt32 flags = MSG_FLAGS_DEFAULT
);

Creates an OpMsgMessage for requests.

Destructor

~OpMsgMessage virtual

virtual ~OpMsgMessage();

Member Functions

acknowledgedRequest

bool acknowledgedRequest() const;

body

Document & body();

Access to body document. Additional query arguments shall be added after setting the command name.

body

const Document & body() const;

clear

void clear();

Clears the message.

collectionName

const std::string & collectionName() const;

commandName

const std::string & commandName() const;

Current command name.

databaseName

const std::string & databaseName() const;

documents

Document::Vector & documents();

Documents prepared for request or retrieved in response.

documents

const Document::Vector & documents() const;

Documents prepared for request or retrieved in response.

flags

UInt32 flags() const;

read

void read(
    std::istream & istr
);

Reads the response from the stream.

responseOk

bool responseOk() const;

Reads "ok" status from the response message.

send

void send(
    std::ostream & ostr
);

Writes the request to stream.

setAcknowledgedRequest

void setAcknowledgedRequest(
    bool ack
);

Set false to create request that does not return response. It has effect only for commands that write or delete documents. Default is true (request returns acknowledge response).

setCommandName

void setCommandName(
    const std::string & command
);

Sets the command name and clears the command document

setCursor

void setCursor(
    Poco::Int64 cursorID,
    Poco::Int32 batchSize = - 1
);

Sets the command "getMore" for the cursor id with batch size (if it is not negative).

Variables

CMD_AGGREGATE static

static const std::string CMD_AGGREGATE;

CMD_BUILD_INFO static

static const std::string CMD_BUILD_INFO;

CMD_COLL_STATS static

static const std::string CMD_COLL_STATS;

CMD_COUNT static

static const std::string CMD_COUNT;

CMD_CREATE static

static const std::string CMD_CREATE;

CMD_CREATE_INDEXES static

static const std::string CMD_CREATE_INDEXES;

CMD_DB_STATS static

static const std::string CMD_DB_STATS;

CMD_DELETE static

static const std::string CMD_DELETE;

CMD_DISTINCT static

static const std::string CMD_DISTINCT;

CMD_DROP static

static const std::string CMD_DROP;

CMD_DROP_DATABASE static

static const std::string CMD_DROP_DATABASE;

CMD_FIND static

static const std::string CMD_FIND;

CMD_FIND_AND_MODIFY static

static const std::string CMD_FIND_AND_MODIFY;

CMD_GET_MORE static

static const std::string CMD_GET_MORE;

CMD_HELLO static

static const std::string CMD_HELLO;

CMD_HOST_INFO static

static const std::string CMD_HOST_INFO;

CMD_INSERT static

static const std::string CMD_INSERT;

CMD_KILL_CURSORS static

static const std::string CMD_KILL_CURSORS;

CMD_LIST_DATABASES static

static const std::string CMD_LIST_DATABASES;

CMD_LIST_INDEXES static

static const std::string CMD_LIST_INDEXES;

CMD_MAP_REDUCE static

static const std::string CMD_MAP_REDUCE;

CMD_REPL_SET_GET_CONFIG static

static const std::string CMD_REPL_SET_GET_CONFIG;

CMD_REPL_SET_GET_STATUS static

static const std::string CMD_REPL_SET_GET_STATUS;

CMD_UPDATE static

static const std::string CMD_UPDATE;