モジュール: Mongo::Protocol::Serializer::Sections::PayloadOne Private

定義:
lib/mongo/プロトコル/serializers.rb

Overview

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

OP_MSG のペイロード1タイプ セクション用の MongoDB ワイヤプロトコル シリアル化戦略。

以来

  • 2.5.0

定数の概要の削減

Type =

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

このペイロード型のバイト識別子。

以来

  • 2.5.0

0 x 1
Type_BYTE =

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

このペイロード型に対応するバイト。

以来

  • 2.5.0

タイプ.chr.force_encoding(BSON::バイナリ).freeze

クラスメソッドの概要を折りたたむ

クラスメソッドの詳細

。 逆シリアル 化(バッファ) = 配列[BSON::Document ]<BSON::Document>

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

OP_MSG のペイロード型1のセクションを IO ストリームから逆シリアル化します。

パラメーター:

  • バッファ BSON::Byteバッファ

    セクションを含むバッファ。

次の値を返します。

  • 配列<BSON::Document>

    逆シリアル化されたセクション。

次の値が発生します。

  • (NotImplementedError)

以来

  • 2.5.0



337
338
339
340
341
342
343
344
345
346
347
348
349
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、337 行

デフォルト 自己.逆シリアル化(バッファ)
  発生 NotImplementedError

  start_size = バッファ.Length
  セクション_サイズ = バッファ.get_int32 # サイズを取得
  end_size = start_size - セクション_サイズ
  バッファ.get_cstring # 識別子を取得する
  ドキュメント = []
  まで バッファ.Length == end_size
    ドキュメント < BSON::ドキュメント.from_bson(バッファ)
  end
  ドキュメント
end

シリアル化(バッファ、値、max_bson_size = nil、validation_keys = nil)= BSON:: Byteバッファリング

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

OP_MSG、ペイロード型1のセクションを直列化します。

パラメーター:

  • バッファ BSON::Byteバッファ

    シリアル化されたセクションを受信するためのバッファ。

  • 価値 BSON::DocumentHash

    シリアル化するオブジェクト。

  • max_bson_size (Fixnum) (デフォルトはnil

    セクション内のドキュメントの最大BSONサイズ。

  • validation_keys truefalse (デフォルトはnil

    ドキュメント キーを検証するかどうか。 このオプションは非推奨であり、使用されません。 バージョン3.0で削除されます。

次の値を返します。

  • BSON::Byteバッファ

    シリアル化された値を持つバッファ。

以来

  • 2.5.0



319
320
321
322
323
324
325
326
327
328
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、319 行

デフォルト 自己.直列化(バッファ, 価値, max_bson_size = nil, validation_keys = nil)
  バッファ.put_byte(Type_BYTE)
  始める = バッファ.Length
  バッファ.put_int32(0) サイズを保持する#
  バッファ.put_cstring(価値[:identifier])
  価値[: シーケンス]. 行う |ドキュメント|
    ドキュメント.直列化(バッファ, ドキュメント, max_bson_size)
  end
  バッファ.replace_int 32(始める, バッファ.Length - 始める)
end