クラス: Mongo::Server::ConnectionBase

継承:
ConnectionCommon すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
監視::公開可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb

Overview

注:

このモジュールのメソッドはパブリック API の一部ですが、これらのメソッドがこのモジュールで定義され、このモジュールを含むクラスでは定義されていないという点は、パブリック API の一部ではありません。

このクラスは、一般的な接続機能をカプセル化します。

以来

  • 2.0.0

既知のサブクラスを直接確認

接続PendingConnection

定数の概要の削減

DEFAULT_MAX_BSON_OBJECT_SIZE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

サーバーの hello 応答に maxBsonObjectSize フィールドが含まれていない場合、ユーザーが提供したドキュメントが直列化の際に引き受けることができる最大許容サイズ(バイト単位)。

サーバーに送信されるコマンドは、MAX_BSON_COMMAND_OVERHEAD だけこのサイズを超える場合があります。

以来

  • 2.0.0

16777216
MAX_BSON_COMMAND_OVERHEAD =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

コマンド データに許可される追加のオーバーヘッド( 完全なコマンドを BSON に直列化する場合、ユーザーによって提供されたドキュメントではなく、ドライバーによってコマンド ドキュメントに追加されたフィールド()。

以来

  • 2.0.0

16384
REDIRECT_MAX_BSON_SIZE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0

2097152

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

Monitoring::Publishable

#monitoring

ConnectionCommonから継承される属性

#compressor, #pid

インスタンス メソッドの概要を折りたたむ

から含まれるメソッド::public

#publish_cmap_event#publish_event#publish_sam_event

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

ConnectionCommonから継承されたメソッド

番号が接続されているかどうか#handsます。

インスタンス属性の詳細

# Description = Server:: Description (readonly)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

注:

まだ接続されていない接続オブジェクト(認証が必要な場合はハンドシェイクおよび認証された)には説明がありません。 ハンドシェイクと認証ではドライバーはグローバル デフォルトを使用する必要がありますが、特に特定の接続のプロパティが同じアドレスに行われる他の接続のプロパティと同じであることを前提としないでください(もう一方のサーバーがシャットダウンされている可能性があるため)別のサーバー バージョンが起動した可能性があります)。

この接続で実行されたハンドシェイクの hello 応答から生成された、この接続のサーバー説明を返します。

次の値を返します。

以来

  • 2.0.0



82
83
84
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行82

デフォルト 説明
  @description
end

オプション=ハッシュ(読み取り専用)

オプション で渡されたオプションを返します。

次の値を返します。

  • ハッシュ

    options オプションで渡されたオプション。

以来

  • 2.0.0



53
54
55
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行53

デフォルト options
  @options
end

#サーバーMongo::Address (読み取り専用)

接続するアドレスを返します。

次の値を返します。

以来

  • 2.0.0



58
59
60
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行58

デフォルト サーバー
  @server
end

インスタンス メソッドの詳細

#app_metadataObject

以来

  • 2.0.0



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行107

デフォルト 
  @app_metadata ||= begin
    同じ = true
    AppMetadata::AUTH_OPTION_KEYS. 行う |キー|
      場合 @server.options[キー] != options[キー]
        同じ = false
        break
      end
    end
    場合 同じ
      @server.
    else
      AppMetadata.新着情報(options.merge(目的: @server..目的))
    end
  end
end

#dispatch(messages, context, options = {}) ⇒ Protocol::Message | nil

注:

このメソッドは 'send' がすべてのオブジェクトの主要 Ruby メソッドであるため、ディスパッチという名前を付けられます。

注:

下位互換性のために、このメソッドはメッセージを配列として受け入れます。 ただし、呼び出しごとに正確に 1 つのメッセージを付与する必要があります。

接続に単一のメッセージをディスパッチします。 メッセージに応答が必要な場合は、応答が返されます。

例:

メッセージをディスパッチします。

connection.dispatch([ insert ])

パラメーター:

  • メッセージ <Message>配列 )

    ディスパッチするメッセージを含む 1 要素の配列。

  • context 操作::Context

    操作コンテキスト。

  • options ハッシュ (デフォルトは{}です)

オプション ハッシュ( options ):

  • :deserialize_as_bson ブール値

    可能な場合は常にネイティブ Ruby 型の代わりに BSON オブジェクトを使用して、このメッセージへの応答を逆直列化するかどうか。

次の値を返します。

次の値が発生します。

以来

  • 2.0.0



150
151
152
153
154
155
156
157
158
159
160
161
162
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行150

デフォルト ディスパッチ(メッセージ, context, options = {})
  # モニタリング コードでは複数のメッセージが正しく処理されないため、
  # とドライバーは内部的に複数のメッセージを送信しません
  アプリケーションの例を取り上げます。 したがって、現在は複数のメッセージの使用を禁止しています。
  場合 メッセージ.Length != 1
    発生 ArgumentError, '一度に 1 つのメッセージのみを送信できます'
  end
  場合 説明.不明な場合
    発生 エラー::internalDriverError, "不明な説明を持つ接続でメッセージをディスパッチできません: #{ Description . explain } "
  end
  メッセージ = メッセージ.最初に
  delivery(メッセージ, context, options)
end

生成=整数 | nil

この接続が作成された接続プールの生成。 場合は nil です。

次の値を返します。

  • (Integer | nil)

    接続プールの生成。

以来

  • 2.0.0



100
101
102
103
104
105
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行100

デフォルト 生成
  # 接続がロード バランサーである場合、@生成 が設定されます
  ハンドシェイクが完了した後は、 になります。 接続が別のサーバーの場合
  # タイプ、生成は接続作成時に指定されます。
  @生成 || options[: 生成]
end

# service_id = nil |オブジェクト

サービス ID(存在する場合)を返します。

次の値を返します。

  • ( nil | Object )

    サービス ID(存在する場合)。

以来

  • 2.0.0



92
93
94
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行92

デフォルト service_id
  説明&.service_id
end