Class: Mongo::Protocol::Serializers::BitVector Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb

Overview

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

MongoDB ワイヤプロトコル メッセージのビットベクトルを定義するために使用されるクラス。

初期化時に直列化戦略を定義します。

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

コンストラクターの詳細

初期化(レイテンシ) =BitVector

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

レイアウトでビットベクトルを初期化

パラメーター:

  • レイアウト 配列未満

    ビットベクトル内のフィールドの配列



31
32
33
34
35
36
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb', 行31

デフォルト 初期化(レイアウト)
  @masks = {}
  レイアウト.each_with_index 行う |フィールド, index|
    @masks[フィールド] = 2**index 場合 フィールド
  end
end

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

逆シリアル化(バッファ, オプション = {})= Array ====================================================================================

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

マスクに従ってシンボルを復号化してベクトルを逆直列化

パラメーター:

  • バッファ ( string )

    逆シリアル化するベクトルを含むバッファ。

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

    このメソッドは現在、オプションを受け入れていません。

次の値を返します。

  • 配列未満

    ベクトルに含まれるフラグ



58
59
60
61
62
63
64
65
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb', 行58

デフォルト 逆シリアル化(バッファ, options = {})
  ベクトル = バッファ.get_int32
  flags = []
  @masks. 行う |flag, mask|
    flags < flag 場合 mask & ベクトル != 0
  end
  flags
end

# Serialize (バッファ、値、検証_キー = nil) = nil) = string

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

マスクに従って各シンボルをエンコードすることでベクトルを直列化

パラメーター:

  • バッファ ( string )

    シリアル化されたベクトルを受信するためのバッファ

  • 価値 配列未満

    エンコードするフラグの配列

  • validation_keys truefalse (デフォルトはnil

    直列化の際にキーを検証する必要があるかどうか。 このオプションは非推奨であり、使用されません。 バージョン3.0で削除されます。

次の値を返します。

  • ( string )

    直列化されたベクトルを受信したバッファ



46
47
48
49
50
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb', 行46

デフォルト 直列化(バッファ, 価値, validation_keys = nil)
  ビット = 0
  価値. { |flag| ビット |= (@masks[flag] || 0) }
  バッファ.put_int32(ビット)
end