Class: Mongo::Protocol::Serializers::BitVector Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Protocol::Serializers::BitVector
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDB ワイヤプロトコル メッセージのビットベクトルを定義するために使用されるクラス。
初期化時に直列化戦略を定義します。
インスタンス メソッドの概要を折りたたむ
-
# 非直列 化(バッファ、オプション = {}) = 配列未満<Symbol>
private
マスクに従ってシンボルを復号化することで、ベクトルを逆直列化します。
-
初期化(レイテンシ)=BitVector
コンストラクター
private
レイアウトを使用して BitVector を初期化します。
-
# Serialize (バッファ、値、検証_キー = nil) = nil) = string
private
マスクに従って各シンボルをエンコードすることでベクトルを直列化します。
コンストラクターの詳細
初期化(レイテンシ) =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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
マスクに従ってシンボルを復号化してベクトルを逆直列化
58 59 60 61 62 63 64 65 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/bit_vector.rb', 行58 デフォルト 逆シリアル化(バッファ, = {}) ベクトル = バッファ.get_int32 flags = [] @masks.各 行う |flag, mask| flags < flag 場合 mask & ベクトル != 0 end flags end |
# Serialize (バッファ、値、検証_キー = nil) = nil) = string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
マスクに従って各シンボルをエンコードすることでベクトルを直列化
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 |