类:Mongo::Session::ServerSession Private
- 继承:
-
对象
- 对象
- Mongo::Session::ServerSession
- 包括:
- Dirtyable
- 定义于:
- lib/ Mongo/session/server_session.rb 、
lib/ Mongo/session/server_session/dirtyable.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
表示服务器端会话的对象。
在命名空间下定义
模块: Dirtyable
常量摘要折叠
- DASH_REGEX =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
用于从 UUID string中删除破折号的正则表达式。
/\-/.冻结
- UUID_PACK =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
UUID 的 Pack 指令。
'H*'.冻结
实例属性摘要折叠
-
# last_use ⇒ 对象
只读
private
上次使用服务器会话的时间。
-
# txn_num ⇒ 对象
只读
private
当前事务编号。
实例方法摘要折叠
-
#初始化⇒ ServerSession
构造函数
private
初始化 ServerSession。
-
#检查⇒ string
private
获取用于检查的格式化string 。
-
# next_txn_num ⇒ 整数
private
递增当前事务编号并返回新值。
-
# session_id ⇒ BSON::Document
private
此服务器会话的会话 ID。
-
# set_last_use! ⇒ 时间
private
将服务器会话的 last_use 属性更新为 now。
从 Dirtyable 包含的方法
构造函数详情
#初始化⇒ ServerSession
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
初始化 ServerSession。
72 73 74 75 76 |
# File 'lib/ Mongo/session/server_session.rb', line 72 def 初始化 set_last_use! session_id @txn_num = 0 end |
实例属性详细信息
# last_use ⇒对象(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
上次使用服务器会话的时间。
45 46 47 |
# File 'lib/ Mongo/session/server_session.rb', line 45 def last_use @last_use end |
# txn_num ⇒对象(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
当前事务编号。
当ACID 事务处于活动状态时,该ACID 事务中的所有操作都使用相同的ACID 事务编号。 如果整个ACID 事务重新启动(示例,通过 Session#with_transaction,在这种情况下,它也会再次调用提供给它的区块),则每次ACID 事务尝试都有自己的ACID 事务编号。
事务编号还用于事务之外的可重试写入。 在这种情况下,每个写入操作都有自己的事务编号,但写入操作的重试使用与第一次写入相同的事务编号(这就是服务器知道后续写入是重试的原因,并且如果第一次写入成功,则应忽略后续写入) ,但客户端未读取)。
64 65 66 |
# File 'lib/ Mongo/session/server_session.rb', line 64 def txn_num @txn_num end |
实例方法详细信息
#检查⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
获取用于检查的格式化string 。
120 121 122 |
# File 'lib/ Mongo/session/server_session.rb', line 120 def 检查 " #<Mongo::Session::ServerSession: 0 x #{ object_id } session_id= #{ session_id } last_use= #{ @last_use } > " end |
# next_txn_num ⇒整数
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
递增当前事务编号并返回新值。
108 109 110 |
# File 'lib/ Mongo/session/server_session.rb', line 108 def next_txn_num @txn_num += 1 end |
#session_id ⇒ BSON::Document
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
此服务器会话的会话 ID。
98 99 100 101 |
# File 'lib/ Mongo/session/server_session.rb', line 98 def session_id @session_id ||= (字节 = [SecureRandom.uuid.gsub(DASH_REGEX, ' ')].打包(UUID_PACK) BSON::文档.new(ID : BSON::二进制文件.new(字节, :uuid))) end |
# set_last_use! ⇒时间
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将服务器会话的 last_use 属性更新为 now。
86 87 88 |
# File 'lib/ Mongo/session/server_session.rb', line 86 def set_last_use! @last_use = 时间.now end |