Clase: Mongo::Session::ServerSession Privada

Hereda:
Objeto
  • Objeto
Mostrar todo
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.

Desde:

  • 2.5.0

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.

Desde:

  • 2.5.0

/\-/.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.

Desde:

  • 2.5.0

'H*'.freeze

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Métodos incluidos en Dirtyable

#sucio!, #sucio?

Detalles del constructor

#initializeServerSession

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.

Ejemplos:

ServerSession.new

Desde:

  • 2.5.0



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_useObjeto (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.

Desde:

  • 2.5.0



45
46
47
# Archivo 'lib/mongo/session/server_session.rb', línea 45

def last_use
  @last_use
end

#txn_numObjeto (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ó).

Desde:

  • 2.5.0



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

#inspeccionarCadena

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.

Ejemplos:

Inspeccionar el objeto de sesión.

session.inspect

Devuelve:

  • (Cadena) -

    La inspección de la sesión.

Desde:

  • 2.5.0



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_numEntero

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.

Devuelve:

  • (Entero)

    El número de transacción actualizado.

Desde:

  • 2.5.0



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

def siguiente_transacción_num
  @txn_num += 1
end

#session_idBSON::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.

Ejemplos:

Obtenga el id. de la sesión.

server_session.session_id

Devuelve:

  • (BSON::Documento)

    El identificador de la sesión.

Desde:

  • 2.5.0



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.

Ejemplos:

Establezca el último campo de uso en ahora.

server_session.set_last_use!

Devuelve:

  • (Time)

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

Desde:

  • 2.5.0



86
87
88
# Archivo 'lib/mongo/session/server_session.rb', línea 86

def set_last_use!
  @last_use = Tiempo.ahora
end