class Mongo::Operation::ParallelScan::OpMsg
A MongoDB parallelscan operation sent as an op message.
@api private
@since 2.5.2
Public Instance Methods
execute(server)
click to toggle source
Execute the operation.
@example
operation.execute(server)
@param [ Mongo::Server
] server The server to send the operation to.
@return [ Mongo::Operation::ParallelScan::Result
] The operation result.
@since 2.5.2
# File lib/mongo/operation/parallel_scan/op_msg.rb, line 40 def execute(server) result = Result.new(dispatch_message(server)) process_result(result, server) result.validate! rescue Mongo::Error::SocketError => e e.send(:add_label, Mongo::Error::TRANSIENT_TRANSACTION_ERROR_LABEL) if session.in_transaction? raise e end
Private Instance Methods
message(server)
click to toggle source
# File lib/mongo/operation/parallel_scan/op_msg.rb, line 58 def message(server) Protocol::Msg.new(flags, options, command(server)) end
selector(server)
click to toggle source
# File lib/mongo/operation/parallel_scan/op_msg.rb, line 51 def selector(server) sel = { :parallelCollectionScan => coll_name, :numCursors => cursor_count } sel[:maxTimeMS] = max_time_ms if max_time_ms sel[:readConcern] = read_concern if read_concern sel end