类:Mongo::Session::ServerSession Private
- 继承:
-
对象
- 对象
- Mongo::Session::ServerSession
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
表示服务器端会话的对象。
常量摘要折叠
- 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。
构造函数详情
#初始化⇒ ServerSession
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
初始化 ServerSession。
69 70 71 72 73 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第69行 def 初始化 set_last_use! session_id @txn_num = 0 end |
实例属性详细信息
# last_use ⇒对象(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
上次使用服务器会话的时间。
42 43 44 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第42行 def last_use @last_use end |
# txn_num ⇒对象(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
当前事务编号。
当ACID 事务处于活动状态时,该ACID 事务中的所有操作都使用相同的ACID 事务编号。 如果整个ACID 事务重新启动(示例,通过 Session#with_transaction,在这种情况下,它也会再次调用提供给它的区块),则每次ACID 事务尝试都有自己的ACID 事务编号。
事务编号还用于事务之外的可重试写入。 在这种情况下,每个写入操作都有自己的事务编号,但写入操作的重试使用与第一次写入相同的事务编号(这就是服务器知道后续写入是重试的原因,并且如果第一次写入成功,则应忽略后续写入) ,但客户端未读取)。
61 62 63 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第61行 def txn_num @txn_num end |
实例方法详细信息
#检查⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
获取用于检查的格式化string 。
117 118 119 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第117行 def 检查 " #<Mongo::Session::ServerSession: 0 x #{ object_id } session_id= #{ session_id } last_use= #{ @last_use } > " end |
# next_txn_num ⇒整数
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
递增当前事务编号并返回新值。
105 106 107 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第105行 def next_txn_num @txn_num += 1 end |
#session_id ⇒ BSON::Document
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
此服务器会话的会话 ID。
95 96 97 98 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第95行 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。
83 84 85 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/session/server_session.rb', 第83行 def set_last_use! @last_use = 时间.now end |