クラス: Mongo::Server::ConnectionCommon

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/ サーバー/ connection_ Common.rb

Overview

注:

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

モニタリング接続と非モニタリング接続の両方で使用される一般的なメソッド。

以来

  • 2.0.0

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

ConnectionBaseMonitor::Connection

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

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

インスタンス属性の詳細

# compressorstring | nil (読み取り専用)

コンプレッサーがハンドシェイク中にこの接続をネゴシエートした(存在する場合)。

この属性は、ハンドシェイクがまだ完了していない接続、および圧縮をネゴシエートされた接続の場合は nil です。

次の値を返します。

  • ( string | nil )

    コンプレッサー。

以来

  • 2.0.0



37
38
39
# ファイル 'lib/mongo/ サーバー/ connection_ Common.rb' は、37 行

デフォルト compressor
  @compressor
end

PID整数(読み取り専用)

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

接続が作成されたときのPIDプロセスIDを返します。

次の値を返します。

  • (整数)

    PID接続が作成されたときのプロセスID 。

以来

  • 2.0.0



53
54
55
# ファイル 'lib/mongo/ サーバー/ connection_ Common.rb' は、53 行

デフォルト pid
  @pid
end

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

#接続済みかどうか= truefalse

非推奨。

接続が現在接続されているかどうかを判断します。

例:

接続は接続されていますか?

connection.connected?

次の値を返します。

  • truefalse

    接続されている場合。

以来

  • 2.0.0



47
48
49
# ファイル 'lib/mongo/ サーバー/ connection_ Common.rb' は、47 行

デフォルト 接続されていますか?
  !!ソケット
end

#handshake_command(handshake_document) ⇒ Protocol::Message

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

接続ハンドシェイクに使用するコマンドをビルドします。

パラメーター:

  • handsake_document BSON::Document

    ハンドシェイク目的でサーバーに送信する必要があるドキュメント。

次の値を返します。

  • (Protocol::Message)

    ハンドシェイク目的でサーバーに送信するコマンド。

以来

  • 2.0.0



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# ファイル 'lib/mongo/ サーバー/ connection_ Common.rb' は、94 行

デフォルト handshake_command(handsake_document)
  場合 handsake_document['apiVersion'] || handsake_document[' loadBalanced ']
    プロトコル::Msg.新着情報(
      [], {}, handsake_document.merge({'$db' => Database::管理者})
    )
  else
    プロトコル::クエリ.新着情報(
      Database::管理者,
      Database::コマンド,
      handsake_document,
      :limit => -1
    )
  end
end

#handshake_document (app_metadata、推測的_auth_doc: nil、load_ balancer: false、server_api: nil)= BSON::Document

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

接続ハンドシェイクに使用するドキュメントをビルドします。

パラメーター:

  • app_metadata Server ::AppMetadata

    アプリケーション メタデータ

  • 推測的_認証_ドキュメント BSON::Document (デフォルトはnil

    推測的認証ドキュメント(存在する場合)。

  • load_ balancer true | false (デフォルトはfalse

    ロード バランサーへの接続であるかどうか。

  • server_api ハッシュ | nil (デフォルトはnil

    server_api サーバー API バージョン

次の値を返します。

  • BSON::Document

    ハンドシェイクの目的でサーバーに送信する必要があるドキュメント。

以来

  • 2.0.0



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# ファイル 'lib/mongo/ サーバー/ connection_ Common.rb' は、68 行

デフォルト handsake_document(, 推測的_認証_ドキュメント: nil, load_Balancer: false, server_api: nil)
  serv_api = .server_api || server_api
  ドキュメント = 場合 serv_api
               HELLO_DOC.merge(Utils.transform_server_api(serv_api))
             else
               Legacy_Hello_DOC
             end
  ドキュメント.merge(.valided_document).タップ 行う |doc|
    場合 推測的_認証_ドキュメント
      doc.update(推測的認証: 推測的_認証_ドキュメント)
    end
    場合 load_ balancer
      doc.update(loadBalanced: true)
    end
  end
end