Classe: Mongo::Session::ServerSession Privado
- Herda:
-
Objeto
- Objeto
- Mongo::Session::ServerSession
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/session/server_session.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
Um objeto que representa a sessão do lado do servidor.
Colapsode resumo constante
- DASH_REGEX =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Regex para remover traços da string UUID.
/\-/.congelar
- UUID_PACK =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Diretiva de pacote para o UUID.
'H*'.congelar
Recolhimento do Resumo do atributo de instância
-
#last_use ➤ Objeto
Somente leitura
privado
A última vez que a sessão do servidor foi usada.
-
#txn_num ➤ Objeto
Somente leitura
privado
O número da transação atual.
Recolhimento do Resumo do método de instância
-
#initialize ➤ ServerSession
construtor
privado
Inicialize uma ServerSession.
-
#inspecionar ➤ string
privado
Obtenha uma string formatada para uso na inspeção.
-
#próximo_txn_num ➤ Inteiro
privado
Aumente o número da transação atual e retorne o novo valor.
-
#session_id ➤ BSON::Document
privado
A ID da sessão desta sessão do servidor .
-
#set_last_use! ➤ Tempo
privado
Atualize o atributo last_use da sessão do servidor para agora.
Detalhes do construtor
#initialize ➤ ServerSession
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize uma ServerSession.
69 70 71 72 73 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 69 def inicializar set_last_use! session_id @txn_num = 0 end |
Detalhes do atributo da instância
#last_use ➤ Object (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
A última vez que a sessão do servidor foi usada.
42 43 44 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 42 def last_use @last_use end |
#txn_num ➤ Object (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
O número da transação atual.
Quando uma transação está ativa, todas as operações nessa transação usam o mesmo número de transação. Se a transação inteira for reiniciada (por exemplo, por Session#with_transaction, caso em que ela também invocaria o bloqueio fornecido a ela novamente), cada tentativa de transação terá seu próprio número de transação.
O número da transação também é usado fora das transações para retryable writes. Nesse caso, cada operação de gravação tem seu próprio número de transação, mas as novas tentativas de uma operação de gravação usam o mesmo número de transação que a primeira gravação (que é como o servidor sabe que as gravações subsequentes são novas tentativas e devem ser ignoradas se a primeira gravação for bem-sucedida em o servidor, mas não foi lido pelo cliente, por exemplo).
61 62 63 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 61 def txn_num @txn_num end |
Detalhes do método de instância
#inspecionar ➤ string
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha uma string formatada para uso na inspeção.
117 118 119 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 117 def inspecionar "#<Mongo::Session::ServerSession:0x#{object_id} session_id=#{session_id} last_use=#{@last_use}>" end |
#próximo_txn_num ➤ Inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Aumente o número da transação atual e retorne o novo valor.
105 106 107 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 105 def próximo_txn_num @txn_num += 1 end |
#session_id ⇒ BSON::Document
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
A ID da sessão desta sessão do servidor .
95 96 97 98 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 95 def session_id @session_id ||= (bytes = [SecureRandom.uuid.gsub(DASH_REGEX, '')].embalar(UUID_PACK) BSON::Documento.Novo(ID: BSON::Binário.Novo(bytes, :uuid))) end |
#set_last_use! ➤ Tempo
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Atualize o atributo last_use da sessão do servidor para agora.
83 84 85 |
# File 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', linha 83 def set_last_use! @last_use = Hora.agora end |