Class: Mongo::Protocol::Serializers::BitVector Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Protocol::Serializers::BitVector
- 定義:
- lib/mongo/プロトコル/bit_vector.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
MongoDB ワイヤプロトコル メッセージのビットベクトルを定義するために使用されるクラス。
初期化時に直列化戦略を定義します。
インスタンス メソッドの概要を折りたたむ
-
# 逆シリアル化(バッファ, _options ={{}) = 配列=<Symbol>
private
マスクに従ってシンボルを復号化することで、ベクトルを逆直列化します。
-
初期化(レイテンシ)=BitVector
コンストラクター
private
レイアウトを使用して BitVector を初期化します。
-
#serialize(buffer, value, _validating_keys = nil) ⇒ String
private
マスクに従って各シンボルをエンコードすることでベクトルを直列化します。
コンストラクターの詳細
初期化(レイテンシ) =BitVector
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
レイアウトでビットベクトルを初期化
29 30 31 32 33 34 |
# ファイル 'lib/mongo/プロトコル/bit_vector.rb' は、29 行 デフォルト 初期化(レイアウト) @masks = {} レイアウト.each_with_index 行う |フィールド, index| @masks[フィールド] = 2**index 場合 フィールド end end |
インスタンス メソッドの詳細
#deserialize(buffer, _options = {}) ⇒ 配列<Symbol>
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
マスクに従ってシンボルを復号化してベクトルを逆直列化
56 57 58 59 60 61 62 63 |
# ファイル 'lib/mongo/プロトコル/bit_vector.rb' は、56 行 デフォルト 逆シリアル化(バッファ, = {}) ベクトル = バッファ.get_int32 flags = [] @masks.各 行う |flag, mask| flags < flag 場合 mask & ベクトル != 0 end flags end |
#serialize(buffer, value, _validating_keys = nil) ⇒ String
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
マスクに従って各シンボルをエンコードすることでベクトルを直列化
44 45 46 47 48 |
# ファイル 'lib/mongo/プロトコル/bit_vector.rb' は、44 行 デフォルト 直列化(バッファ, 価値, _validation_keys = nil) ビット = 0 価値.各 { |flag| ビット |= @masks[flag] || 0 } バッファ.put_int32(ビット) end |