Clase: Mongo::Session::ServerSession Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
dirtyable
Definido en:
lib/mongo/session/server_session.rb,
lib/mongo/session/server_session/dirtyable.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

Un objeto que representa la sesión del lado del servidor.

Desde:

  • 2.5.0

Definido bajo Namespace

Modules: dirtyable

Resumen de constantes colapsar

DASH_REGEX =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Expresión regular para eliminar los guiones de la string UUID.

Desde:

  • 2.5.0

/-/.freeze
UUID_PACK =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Directiva de empaquetado para el UUID.

Desde:

  • 2.5.0

'H*'

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos de Dirtyable

#dirty!, #dirty?

Detalles del Constructor

#initializeServerSession

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicializa una ServerSession.

Ejemplos:

ServerSession.new

Desde:

  • 2.5.0



69
70
71
72
73
# Archivo 'lib/mongo/session/server_session.rb', línea 69

def inicializar
  set_last_use!
  session_id
  @txn_num = 0
end

Detalles de atributo de instancias

#last_useObjeto (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

La última vez que se utilizó la sesión del servidor.

Desde:

  • 2.5.0



42
43
44
# Archivo 'lib/mongo/session/server_session.rb', línea 42

def last_use
  @last_use
end

#txn_numObjeto (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método 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 las operaciones en esa transacción utilizan 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 volvería a invocar 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 reintentar. 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 (que es como el servidor sabe que las escrituras subsecuentes son reintentos y deben ser ignoradas si la primera escritura tuvo éxito en el servidor, pero no fue leída por el cliente, por ejemplo).

Desde:

  • 2.5.0



61
62
63
# Archivo 'lib/mongo/session/server_session.rb', línea 61

def txn_num
  @txn_num
end

Detalles del método de instancia

#inspectString

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Obtén una string formateada para usar en la inspección.

Ejemplos:

Inspecciona el objeto de sesión.

session.inspect

Devuelve:

  • (string)

    La inspección de la sesión.

Desde:

  • 2.5.0



119
120
121
# Archivo 'lib/mongo/session/server_session.rb', línea 119

def inspeccionar
  "#<Mongo::Session::ServerSession:0x#{object_id} session_id=#{session_id} last_use=#{@last_use}>"
end

#next_txn_numInteger

Este método es parte de una API privada. Se debe evitar el uso de este método 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.

Devuelve:

  • (Número entero)

    El número de transacción actualizado.

Desde:

  • 2.5.0



107
108
109
# Archivo 'lib/mongo/session/server_session.rb', línea 107

def next_txn_num
  @txn_num += 1
end

#session_idBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

El ID de sesión de esta sesión de servidor.

Ejemplos:

Obtenga el id. de la sesión.

server_session.session_id

Devuelve:

  • (BSON::Document)

    El id de la sesión.

Desde:

  • 2.5.0



95
96
97
98
99
100
# Archivo 'lib/mongo/session/server_session.rb', línea 95

def session_id
  @session_id ||= begin
    bytes = [ SecureRandom.uuid.gsub(DASH_REGEX, '') ].pack(UUID_PACK)
    BSON::Documento.Nuevo(ID: BSON::Binario.Nuevo(bytes, :uuid))
  end
end

#set_last_use!Time

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Actualizar el atributo last_use de la sesión del servidor a ahora.

Ejemplos:

Configura el campo de último uso a ahora.

server_session.set_last_use!

Devuelve:

  • (Time)

    La última vez que se usó la sesión.

Desde:

  • 2.5.0



83
84
85
# Archivo 'lib/mongo/session/server_session.rb', línea 83

def set_last_use!
  @last_use = Tiempo.ahora
end