Class: Mongo::Protocol::Serializers::BitVector Private
- 继承:
-
对象
- 对象
- Mongo::Protocol::Serializers::BitVector
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo / 协议/bit_vector.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
用于为 MongoDB 传输协议消息定义位向量的类。
在初始化时定义序列化策略。
实例方法摘要折叠
-
# deserialize (buffer, options = {}) ⇒ Array<Symbol>
private
通过根据掩码对符号进行解码来反序列化向量。
-
#initialize (layout) ⇒ BitVector
构造函数
private
使用布局初始化 BitVector。
-
#serialize (buffer, value, validating_keys = nil) ⇒ string
private
根据掩码对每个符号进行编码,从而对向量进行序列化。
构造函数详情
#initialize (layout) ⇒ BitVector
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
使用布局初始化 BitVector
31 32 33 34 35 36 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/bit_vector.rb', 第31行 def 初始化(布局) @masks = {} 布局.each_with_index do |字段, 索引(index)| @masks[字段] = 2**索引(index) if 字段 end end |
实例方法详细信息
# deserialize (buffer, options = {}) ⇒ Array< Symbol >
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
通过根据掩码对符号进行解码来反序列化向量
58 59 60 61 62 63 64 65 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/bit_vector.rb', 第58行 def 反序列化(缓冲, = {}) 向量 = 缓冲.get_int32 flags = [] @masks.每 do |flag, 掩码| flags << flag if 掩码 和 向量 != 0 end flags end |
#serialize (buffer, value, validating_keys = nil) ⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
根据掩码对每个符号进行编码,从而对向量进行序列化
46 47 48 49 50 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/bit_vector.rb', 第46行 def 序列化(缓冲, 值, validating_keys = nil) 位 = 0 值.每 { |flag| 位 |= (@masks[flag] || 0) } 缓冲.put_int32(位) end |