クラス: Mongo::Server::ConnectionBase
- 継承:
-
ConnectionCommon
- オブジェクト
- ConnectionCommon
- Mongo::Server::ConnectionBase
- 次による拡張機能。
- 転送可能
- 次のことが含まれます。
- 監視::公開可能
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb
Overview
このモジュールのメソッドはパブリック API の一部ですが、これらのメソッドがこのモジュールで定義され、このモジュールを含むクラスでは定義されていないという点は、パブリック API の一部ではありません。
このクラスは、一般的な接続機能をカプセル化します。
既知のサブクラスを直接確認
定数の概要の削減
- DEFAULT_MAX_BSON_OBJECT_SIZE =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーの hello 応答に maxBsonObjectSize フィールドが含まれていない場合、ユーザーが提供したドキュメントが直列化の際に引き受けることができる最大許容サイズ(バイト単位)。
サーバーに送信されるコマンドは、MAX_BSON_COMMAND_OVERHEAD だけこのサイズを超える場合があります。
16777216
- MAX_BSON_COMMAND_OVERHEAD =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
コマンド データに許可される追加のオーバーヘッド( 完全なコマンドを BSON に直列化する場合、ユーザーによって提供されたドキュメントではなく、ドライバーによってコマンド ドキュメントに追加されたフィールド()。
16384
- REDIRECT_MAX_BSON_SIZE =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
2097152
Loggableに含まれる定数
インスタンス属性の概要を折りたたむ
-
# Description ~ Server:: Description
readOnly
private
この接続で実行されたハンドシェイクの hello 応答から生成された、この接続のサーバー説明を返します。
-
#options ⇒ Hash
readOnly
オプション でオプションが渡されます。
-
#サーバー→ Mongo::Address
readOnly
アドレス 接続するアドレス。
Monitoring::Publishable
ConnectionCommonから継承される属性
インスタンス メソッドの概要を折りたたむ
- #app_metadata ⇒ Object
-
#dispatch(messages, context, options = {}) ⇒ Protocol::Message | nil
接続に単一のメッセージをディスパッチします。
-
生成= 整数 | nil
この接続が作成された接続プールの生成。
-
# service_id = nil |オブジェクト
サービス ID(存在する場合)。
から含まれるメソッド::public
#publish_cmap_event 、 #publish_event 、 #publish_sam_event
Loggableに含まれるメソッド
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
ConnectionCommonから継承されたメソッド
インスタンス属性の詳細
# Description = Server:: Description (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
まだ接続されていない接続オブジェクト(認証が必要な場合はハンドシェイクおよび認証された)には説明がありません。 ハンドシェイクと認証ではドライバーはグローバル デフォルトを使用する必要がありますが、特に特定の接続のプロパティが同じアドレスに行われる他の接続のプロパティと同じであることを前提としないでください(もう一方のサーバーがシャットダウンされている可能性があるため)別のサーバー バージョンが起動した可能性があります)。
この接続で実行されたハンドシェイクの hello 応答から生成された、この接続のサーバー説明を返します。
82 83 84 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行82 デフォルト 説明 @description end |
オプション=ハッシュ(読み取り専用)
オプション で渡されたオプションを返します。
53 54 55 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行53 デフォルト @options end |
#サーバー→ Mongo::Address (読み取り専用)
接続するアドレスを返します。
58 59 60 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行58 デフォルト サーバー @server end |
インスタンス メソッドの詳細
#app_metadata ⇒ Object
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.[キー] != [キー] 同じ = false break end end 場合 同じ @server. else AppMetadata.新着情報(.merge(目的: @server..目的)) end end end |
#dispatch(messages, context, options = {}) ⇒ Protocol::Message | nil
このメソッドは 'send' がすべてのオブジェクトの主要 Ruby メソッドであるため、ディスパッチという名前を付けられます。
下位互換性のために、このメソッドはメッセージを配列として受け入れます。 ただし、呼び出しごとに正確に 1 つのメッセージを付与する必要があります。
接続に単一のメッセージをディスパッチします。 メッセージに応答が必要な場合は、応答が返されます。
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, = {}) # モニタリング コードでは複数のメッセージが正しく処理されないため、 # とドライバーは内部的に複数のメッセージを送信しません アプリケーションの例を取り上げます。 したがって、現在は複数のメッセージの使用を禁止しています。 場合 .Length != 1 発生 ArgumentError, '一度に 1 つのメッセージのみを送信できます' end 場合 説明.不明な場合 発生 エラー::internalDriverError, "不明な説明を持つ接続でメッセージをディスパッチできません: #{ Description . explain } " end = .最初に delivery(, context, ) end |
生成=整数 | nil
この接続が作成された接続プールの生成。 場合は nil です。
100 101 102 103 104 105 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行100 デフォルト 生成 # 接続がロード バランサーである場合、@生成 が設定されます ハンドシェイクが完了した後は、 になります。 接続が別のサーバーの場合 # タイプ、生成は接続作成時に指定されます。 @生成 || [: 生成] end |
# service_id = nil |オブジェクト
サービス ID(存在する場合)を返します。
92 93 94 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/ connection_base.rb', 行92 デフォルト service_id 説明&.service_id end |