Clase: Mongo::Session::ServerSession Privada
- Hereda:
-
Objeto
- Objeto
- Mongo::Sesión::Sesión de servidor
- Incluye:
- Ensuciable
- Definido en:
- lib/mongo/session/server_session.rb,
lib/mongo/session/server_session/dirtyable.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Un objeto que representa la sesión del lado del servidor.
Definido en el espacio de nombres
Modules: Ensuciable
Colapso delresumen constante
- DASH_REGEX =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Expresión regular para eliminar guiones de la cadena UUID.
/\-/.freeze
- UUID_PAQUETE =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Directiva de paquete para el UUID.
'H*'.freeze
Colapso delresumen de atributos de instancia
-
#last_use ⇒ Objeto
solo lectura
privada
La última vez que se utilizó la sesión del servidor.
-
#txn_num ⇒ Object
solo lectura
privada
El número de transacción actual.
Colapso del resumen del método de instancia
-
#initialize ⇒ ServerSession
constructor
privada
Inicializa una ServerSession.
-
#inspeccionar ⇒ Cadena
privada
Obtenga una cadena formateada para usar en la inspección.
-
#next_txn_num ⇒ Entero
privada
Incrementa el número de transacción actual y devuelve el nuevo valor.
-
#session_id ⇒ BSON::Document
privada
El ID de sesión de esta sesión de servidor.
-
#set_last_use! ⇒ Time
privada
Actualice el atributo last_use de la sesión del servidor a ahora.
Métodos incluidos en Dirtyable
#sucio!, #sucio?
Detalles del constructor
#initialize ⇒ ServerSession
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa una ServerSession.
72 73 74 75 76 |
# Archivo 'lib/mongo/session/server_session.rb', línea 72 def inicializar set_last_use! id de sesión @txn_num = 0 end |
Detalles de los atributos de instancia
#last_use ⇒ Objeto (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
La última vez que se utilizó la sesión del servidor.
45 46 47 |
# Archivo 'lib/mongo/session/server_session.rb', línea 45 def last_use @last_use end |
#txn_num ⇒ Objeto (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
El número de transacción actual.
Cuando una transacción está activa, todas sus operaciones usan el mismo número de transacción. Si se reinicia toda la transacción (por ejemplo, mediante Session#with_transaction, en cuyo caso también se invocaría el bloque proporcionado), cada intento de transacción tiene su propio número de transacción.
El número de transacción también se utiliza fuera de las transacciones para escrituras reintentables. En este caso, cada operación de escritura tiene su propio número de transacción, pero los reintentos de una operación de escritura utilizan el mismo número de transacción que la primera escritura (de esta manera, el servidor sabe que las escrituras posteriores son reintentos y deben ignorarse si, por ejemplo, la primera escritura tuvo éxito en el servidor, pero el cliente no la leyó).
64 65 66 |
# Archivo 'lib/mongo/session/server_session.rb', línea 64 def txn_num @txn_num end |
Detalles del método de instancia
#inspeccionar ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga una cadena formateada para usar en la inspección.
120 121 122 |
# Archivo 'lib/mongo/session/server_session.rb', línea 120 def inspeccionar "#<Mongo::Session::ServerSession:0x#{object_id} session_id=#{session_id} last_use=#{@last_use}>" end |
#next_txn_num ⇒ Entero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Incrementa el número de transacción actual y devuelve el nuevo valor.
108 109 110 |
# Archivo 'lib/mongo/session/server_session.rb', línea 108 def siguiente_transacción_num @txn_num += 1 end |
#session_id ⇒ BSON::Document
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
El ID de sesión de esta sesión de servidor.
98 99 100 101 |
# Archivo 'lib/mongo/session/server_session.rb', línea 98 def id de sesión @session_id ||= (bytes = [SecureRandom.uuid.gsub(DASH_REGEX, '')].paquete(UUID_PACK) BSON::Documento.Nuevo(identificación: BSON::Binario.Nuevo(bytes, :uuid))) end |
#set_last_use! ⇒ Time
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Actualice el atributo last_use de la sesión del servidor a ahora.
86 87 88 |
# Archivo 'lib/mongo/session/server_session.rb', línea 86 def set_last_use! @last_use = Tiempo.ahora end |