クラス: Mongo::Server::AppMetadata Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb
build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/プラットフォーム.rb、
build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/truncator.rb,
build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb

Overview

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

ハンドシェイク中にサーバーに送信されるアプリケーション メタデータ

when a new connection is established.

以来

  • 2.0.0

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

MongoDB::AppMetadata

名前空間で定義済み

クラス: 環境プラットフォーム切り捨て

定数の概要の削減

MAX_AP_NAME_SIZE =

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

アプリケーション名の最大バイトサイズ。

以来

  • 2.0.0

128
Driver_NAME =NAME

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

ドライバー名。

以来

  • 2.0.0

'mongo- Ruby-Driver'
AUTH_OPTION_KEYS =

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

認証メカニズムのネゴシエートに影響するオプション キー。

以来

  • 2.0.0

%i[ user auth_source auth_mech].freeze
目的 =

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

接続目的で使用される可能性があります。

以来

  • 2.0.0

%i[ アプリケーション モニター push_monitor ].freeze

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

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

コンストラクターの詳細

#initialize(options = {}) ⇒ AppMetadata

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

新しい AppMetadata オブジェクトをインスタンス化します。

例:

アプリのメタデータをインスタンス化します。

Mongo::Server::AppMetadata.new(options)

パラメーター:

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

    Metadata options.

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

  • :app_name stringSymbol

    サーバー バージョン 3.4 以上で接続を確立するときに mongod ログに出力されるアプリケーション名。

  • :auth_mech 記号

    使用する認証メカニズム。 :mongodb_CR、 :mongodb_x 、 :lain、 :scrim、 :scrim のいずれか 1 つ。509256

  • :auth_source string

    認証元。

  • :compressors 配列<String>

    使用する潜在的なコンプレッサーのリスト(優先順位順)。 ドライバーは、サーバーによってサポートされている最初のコンプレッサーを選択します。 現在、ドライバーは 'zstd'、'Snappy'、'zlib' のみをサポートしています。

  • :プラットフォーム string

    サーバー バージョン 3.4 以上で接続を確立するときに mongod ログに出力されるメタデータに含めるプラットフォーム情報。

  • :目的 記号

    この接続の目的。

  • :server_api ハッシュ

    リクエストされたサーバー API バージョン。 このハッシュには、以下の項目を含めることができます。

    • :version - string

    • :strict - ブール値

    • :deprecation_errors - ブール値

  • :user string

    ユーザー名。

  • :ラップ_ライブラリ Array <Hash>

    ドライバーをラップしている ODM などのライブラリに関する情報。 最初に低レベルのライブラリを指定します。 許可されたハッシュキー: :name、:version、:プラットフォーム。

以来

  • 2.4.0



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行74

デフォルト 初期化(options = {})
  @app_name = options[:app_name].to_s 場合 options[:app_name]
  @プラットフォーム = options[:プラットフォーム]

  @目的 = checkpoint。(options[:目的])

  @compressors = options[:compressors] || []
  @ラップ_ライブラリ = options[:ラップ_ライブラリ]
  @server_api = options[:server_api]

  return ただし、 options[:user] & & !options[:auth_mech]

  auth_db = options[:auth_source] || ' admin '
  @request_auth_mech = " #{ auth_db }  #{ options [ :user ] } "
end

インスタンス属性の詳細

プラットフォームstring (読み取り専用)

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

オブジェクトがインスタンス化されたときに指定されたプラットフォーム情報を返します。

次の値を返します。

  • ( string )

    オブジェクトがインスタンス化されたときに付与されたプラットフォーム情報。

以来

  • 2.0.0



96
97
98
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行96

デフォルト プラットフォーム
  @プラットフォーム
end

目的=シンボル(読み取り専用)

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

このアプリのメタデータが作成されている接続の目的を返します。

次の値を返します。

  • シンボル

    このアプリ メタデータが作成される接続の目的。

以来

  • 2.0.0



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

デフォルト 目的
  @目的
end

# server_api =ハッシュ | nil (読み取り専用)

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

リクエストされたサーバー API バージョンを返します。

ハッシュには以下の項目を含めることができます。

  • :version - string

  • :strict - ブール値

  • :deprecation_errors - ブール値。

次の値を返します。

  • (ハッシュ | nil )

    リクエストされたサーバー API バージョン。

    ハッシュには以下の項目を含めることができます。

    • :version - string

    • :strict - ブール値

    • :deprecation_errors - ブール値

以来

  • 2.0.0



104
105
106
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行104

デフォルト server_api
  @server_api
end

# write_library = Array[Hash]>|<Hash> nil (読み取り専用)

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

ドライバーをラップしているライブラリに関する情報を返します。

次の値を返します。

  • 配列<Hash> | nil

    ドライバーをラップするライブラリに関する情報。

以来

  • 2.0.0



108
109
110
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行108

デフォルト mapping_librarys
  @ラップ_ライブラリ
end

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

#client_documentBSON::Document

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

ハンドシェイク ドキュメントの「クライアント」キーの値として使用するように BSON::Document を取得します。

次の値を返します。

  • BSON::Document

    ハンドシェイク用のクライアントを説明するドキュメント。

以来

  • 2.0.0



128
129
130
131
132
133
134
135
136
137
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行128

デフォルト client_document
  @client_document ||=
    BSON::ドキュメント.新着情報.タップ 行う |doc|
      doc[:application] = { name: @app_name } 場合 @app_name
      doc[:ドライバー] = Driver_doc
      doc[:os] = os_doc
      doc[:プラットフォーム] = Platform_string
      env_doc.タップ { |env| doc[:env] = env 場合 env }
    end
end

#validated_documentBSON::Document

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

ハンドシェイクの一部として送信するメタデータを BSON::Document として取得します。 ドキュメントは適切なハンドシェイク コマンドに追加する必要があります。

このメソッドにより、メタデータが有効であることが保証されます。

次の値を返します。

  • BSON::Document

    接続のハンドシェイクに有効なドキュメントです。

次の値が発生します。

以来

  • 2.0.0



119
120
121
122
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata.rb', 行119

デフォルト valided_document
  validate!
  ドキュメント
end