Sha256: 32a9b4124a65e472c36ee202078cbdd39e2b06273db4f7a51702740cb2f057b6
Contents?: true
Size: 1.99 KB
Versions: 3
Compression:
Stored size: 1.99 KB
Contents
# Copyright (C) 2014-2015 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an 'AS IS' BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module Mongo class Server # Represents a context in which messages are sent to the server on a # connection. # # @since 2.0.0 class Context extend Forwardable # @return [ Mongo::Server ] server The server the context is for. attr_reader :server # Delegate state checks to the server. def_delegators :@server, :features, :max_wire_version, :max_write_batch_size, :mongos?, :primary?, :secondary?, :standalone?, :slave_ok? # Instantiate a server context. # # @example Instantiate a server context. # Mongo::Server::Context.new(server) # # @param [ Mongo::Server ] server The server the context is for. # # @since 2.0.0 def initialize(server) @server = server end # Execute a block of code with a connection, that is checked out of the # pool and then checked back in. # # @example Send a message with the connection. # context.with_connection do |connection| # connection.dispatch([ command ]) # end # # @return [ Object ] The result of the block execution. # # @since 2.0.0 def with_connection(&block) server.pool.with_connection(&block) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongo-2.0.5 | lib/mongo/server/context.rb |
mongo-2.0.4 | lib/mongo/server/context.rb |
mongo-2.0.3 | lib/mongo/server/context.rb |