Classe: Mongo::Socket Private
- Herda:
-
Objeto
- Objeto
- Mongo::Socket
- Inclui:
- Soquete::Constantes
- Definido em:
- lib/mongo/socket.rb,
lib/mongo/socket/ssl.rb,
lib/mongo/socket/tcp.rb,
lib/mongo/socket/unix.rb,
lib/mongo/socket/ocsp_cache.rb,
lib/ mongo/socket/ocsp_verifier.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.
Fornece dados adicionais sobre soquetes para uso do driver.
Definido sob namespace
Módulos: OcspCache Classes: OcspVerifier, SSL, TCP, Unix
Colapsode resumo constante
- SSL_ERROR =
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.
Obsoleto.Mensagem de erro para exceções relacionadas ao TLS.
' OMongoDB pode não ser configurado com suporte a TLS'.congelar
- TIMEOUT_ERROR =
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.
Obsoleto.Mensagem de erro para tempos limite em chamadas de soquete.
' Asolicitação de soquete atingiu o tempo limite'.congelar
- TIMEOUT_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.
A diretiva do pacote para tempos limite.
'l_2'.congelar
- WRITE_CHUNK_SIZE =
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.
Escreva dados no soquete em blocos desse tamanho.
65536
Recolhimento do Resumo do atributo de instância
-
#família ➤ inteiro
Somente leitura
privado
família O tipo de família anfitriã.
-
#opções ➤ Hash
Somente leitura
privado
As opções.
-
#socket ⇒ Socket
Somente leitura
privado
Soquete O soquete encapsulado.
-
#timeout ➤ Flutuante
Somente leitura
privado
Tempo limite O tempo limite do soquete.
Recolhimento do Resumo do método de instância
-
#vivo? ➤ verdadeiro, falso
obsoleto
privado
Obsoleto.
Usa #connectable? na conexão.
-
#close ➤ true
privado
Feche o soquete.
- #conectável? ➤ verdadeiro obsoleto privado Obsoleto.
-
#connection_address ➤ Endereço
privado
Endereço da conexão que criou este soquete.
-
#connection_generation ➤ Inteiro
privado
Geração da conexão (para conexões não monitoradas) que criou esse soquete.
-
#eof? ➤ Booleano
privado
Testa se este soquete atingiu EOF.
-
#get(*args) ➤ Object
privado
Os delegados chegam ao soquete subjacente.
-
#initialize(timeout, opções) ➤ Soquete
construtor
privado
Inicializa atributos de soquete comuns.
-
#monitor? ➤ verdadeiro | false
privado
Se esse soquete foi criado por uma conexão de monitoramento.
-
#pipe ⇒ IO
privado
listen on during the select system call when reading from the socket.
-
#read(comprimento, socket_timeout: nil, tempo limite: nil) ➤ Objeto
privado
Irá ler todos os dados da tomada para o número de bytes fornecido.
-
#readbyte ➤ Objeto
privado
Leia um único byte do soquete.
-
#resumo ➤ string
privado
Resumo legível por humanos do soquete para depuração.
-
#write(*args, timeout: nil) ➤ Inteiro
privado
Escreve dados na instância de soquete.
Detalhes do construtor
#initialize(timeout, opções) ➤ Soquete
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.
Inicializa atributos de soquete comuns.
72 73 74 75 |
# Arquivo 'lib/mongo/socket.rb', linha 72 def inicializar(timeout, ) @timeout = timeout @opções = end |
Detalhes do atributo da instância
#família ➤ inteiro (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.
Retorna família O tipo de família anfitriã.
78 79 80 |
# Arquivo 'lib/mongo/socket.rb', linha 78 def família @family end |
#opções ➤ Hash (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.
Retorna as opções.
84 85 86 |
# Arquivo 'lib/mongo/socket.rb', linha 84 def @opções end |
#soquete ➤ Soquete (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.
Retorna o soquete O soquete encapsulado.
81 82 83 |
# Arquivo 'lib/mongo/socket.rb', linha 81 def soquete @socket end |
#timeout ➤ Flutuante (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.
Retorna timeout O timeout do soquete.
87 88 89 |
# Arquivo 'lib/mongo/socket.rb', linha 87 def timeout @timeout end |
Detalhes do método de instância
#vivo? ➤ true, false
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.
Usa #connectable? na conexão.
A conexão do soquete está ativa?
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# Arquivo 'lib/mongo/socket.rb', linha 144 def alive? sock_arr = [ @socket ] se Kernel::selecione(sock_arr, nada, sock_arr, 0) # O eof? a chamada deve retornar imediatamente desde selecione # indicado que o soquete é legível. No entanto, se @socket for um TLS # soquete, eof? pode bloquear de qualquer maneira - consulte RUBY-2140. começar Tempo-limite.timeout(0.1) fazer eof? end salvar ::Tempo-limite::Erro true end mais true end end |
#close ➤ true
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.
Feche o soquete.
170 171 172 173 174 175 176 177 178 179 180 |
# Arquivo 'lib/mongo/socket.rb', linha 170 def Fechar começar # Às vezes, parece que o fecho pode esperar por um longo tempo ::Tempo-limite.timeout(5) fazer @socket&.Fechar end salvar #Silencie todos os erros end true end |
#conectável? ➤ verdadeiro
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.
Apenas para compatibilidade com versões anteriores, não use.
270 271 272 |
# Arquivo 'lib/mongo/socket.rb', linha 270 def conectável? true end |
#connection_address ➤ Endereço
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.
Retorna o endereço da conexão que criou esse soquete.
92 93 94 |
# Arquivo 'lib/mongo/socket.rb', linha 92 def connection_address [:connection_address] end |
#connection_generation ➤ 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.
Retorna a geração da conexão (para conexões sem monitoramento) que criou esse soquete.
100 101 102 |
# Arquivo 'lib/mongo/socket.rb', linha 100 def connection_generação [:connection_generação] end |
#eof? ➤ Booleano
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.
Testa se este soquete atingiu EOF. Usado principalmente para verificações de vida.
259 260 261 262 263 |
# Arquivo 'lib/mongo/socket.rb', linha 259 def eof? @socket.eof? salvar IOError, SystemCallError true end |
#get(*args) ➤ Object
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.
Os delegados chegam ao soquete subjacente.
192 193 194 195 196 |
# Arquivo 'lib/mongo/socket.rb', linha 192 def obtém(*Args) map_Exceptions fazer @socket.obtém(*Args) end end |
#monitor? ➤ verdadeiro | false
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.
Retorna se esse soquete foi criado por uma conexão de monitoramento.
108 109 110 |
# Arquivo 'lib/mongo/socket.rb', linha 108 def monitorar? !![:monitor] end |
#pipe ⇒ IO
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.
listen on during the select system call when reading from the socket.
115 116 117 |
# Arquivo 'lib/mongo/socket.rb', linha 115 def pipe [:pipe] end |
#read(comprimento, socket_timeout: nil, tempo limite: nil) ➤ Objeto
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.
Irá ler todos os dados da tomada para o número de bytes fornecido. Se nenhum dado for retornado, uma exceção será gerada.
215 216 217 218 219 220 221 222 223 224 |
# Arquivo 'lib/mongo/socket.rb', linha 215 def ler(Tamanho, socket_timeout: nada, timeout: nada) se !socket_timeout.nada? && !timeout.nada? aumentar ArgumentError, 'Tanto o tempo limite quanto o socket_timeout não podem ser definidos ' end se !socket_timeout.nada? || timeout.nada? read_without_timeout(Tamanho, socket_timeout) mais read_with_timeout(Tamanho, timeout) end end |
#readbyte ➤ Objeto
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.
Leia um único byte do soquete.
234 235 236 237 238 |
# Arquivo 'lib/mongo/socket.rb', linha 234 def readbyte map_Exceptions fazer @socket.readbyte end end |
#resumo ➤ 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.
Retorna um resumo legível por humanos do soquete para depuração.
122 123 124 125 126 127 128 129 130 131 132 133 134 |
# Arquivo 'lib/mongo/socket.rb', linha 122 def Resumo fileno = @socket&.fileno salvar '<no socket> ' || '<no socket> ' se monitorar? indicador = se [:push] 'pm' mais 'm' end "#{connection_address};#{connector};fd=#{fileno}" mais "#{connection_address};c:#{connection_generation};fd=#{fileno}" end end |
#write(*args, timeout: nil) ➤ 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.
Escreve dados na instância de soquete.
250 251 252 253 254 |
# Arquivo 'lib/mongo/socket.rb', linha 250 def escrever(*Args, timeout: nada) map_Exceptions fazer do_write(*Args, timeout: timeout) end end |