Clase: Mongo::servidor::ConnectionBase
- Hereda:
-
Conexión común
- Objeto
- Conexión común
- Mongo::Servidor::Base de conexión
- Ampliado por:
- Reenviable
- Incluye:
- Monitoreo::Publicable
- Definido en:
- lib/mongo/servidor/connection_base.rb
Overview
Aunque los métodos de este módulo son parte de la API pública, el hecho de que estos métodos estén definidos en este módulo y no en las clases que incluyen este módulo no es parte de la API pública.
Esta clase encapsula la funcionalidad de conexión común.
Subclases conocidas directas
Conexión, Conexión pendiente
Colapso delresumen constante
- TAMAÑO MÁXIMO DE OBJETO BSON PREDETERMINADO =
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.
El tamaño máximo permitido en bytes que puede ocupar un documento proporcionado por el usuario cuando se serializa, si la respuesta de saludo del servidor no incluye el campo maxBsonObjectSize.
Los comandos que se envían al servidor pueden superar este tamaño en MAX_BSON_COMMAND_OVERHEAD.
16777216- MAX_BSON_COMANDO_OVERHEAD =
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.
La sobrecarga adicional permitida para los datos de comando (es decir, campos agregados al documento de comando por el controlador, a diferencia de los documentos proporcionados por el usuario) al serializar un comando completo a BSON.
16384- REDUCED_MAX_BSON_SIZE =
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.
2097152
Constantes incluidas desde Loggable
Colapso delresumen de atributos de instancia
-
#descripción ⇒ Servidor::Descripción
solo lectura
privada
Devuelve la descripción del servidor para esta conexión, derivada de la respuesta de saludo para el protocolo de enlace realizado en esta conexión.
-
#options ⇒ Hash
solo lectura
Opciones Las opciones pasadas.
-
#servidor ⇒ Mongo::Dirección
solo lectura
Dirección La dirección a la que conectarse.
Atributos incluidos de Monitoring::Publishable
Atributos heredados de ConnectionCommon
Colapso del resumen del método de instancia
- #app_metadata ⇒ Object
-
#dispatch(messages, context, options = {}) ⇒ Protocol::Message | nil
Envía un solo mensaje a la conexión.
-
#generación ⇒ Entero | nulo
Generación del grupo de conexiones desde el que se creó esta conexión.
-
#service_id ⇒ nulo | Objeto
El identificador del servicio, si lo hay.
Métodos incluidos en Monitoring::Publishable
#publicar_evento_cmap, #publicar_evento, #publicar_evento_sdam
Métodos incluidos en Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
Métodos heredados de ConnectionCommon
#conectado?, #comando_de_apretón_de_manos, #documento_de_apretón_de_manos
Detalles de los atributos de instancia
#descripción ⇒ Servidor::Descripción (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.
Un objeto de conexión que aún no se ha conectado (realizado el enlace y autenticado, si se requiere autenticación) no tiene descripción. Mientras se establece la conexión y se realiza la autenticación, el driver debe utilizar los valores por defecto globales, en particular, no asumir que las propiedades de una conexión en particular son las mismas que las propiedades de otras conexiones realizadas a la misma dirección (ya que el servidor en el otro extremo podría haber sido apagado y podría haberse lanzado una versión diferente del servidor).
Devuelve la descripción del servidor para esta conexión, derivada de la respuesta de saludo para el protocolo de enlace realizado en esta conexión.
82 83 84 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 82 def Descripción @descripción end |
#opciones ⇒ Hash (solo lectura)
Devuelve opciones Las opciones pasadas.
53 54 55 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 53 def @opciones end |
#servidor ⇒ Mongo::Address (solo lectura)
Dirección de retorno La dirección a la que conectarse.
58 59 60 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 58 def Server @server end |
Detalles del método de instancia
#app_metadata ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 107 def @app_metadata ||= begin mismo = true Metadatos de la aplicación::CLAVES DE OPCIÓN DE AUTORIZACIÓN.cada hacer |clave| Si @server.[clave] != [clave] mismo = false break end end Si mismo @server. else Metadatos de la aplicación.Nuevo(.unir(objetivo: @server..propósito)) end end end |
#dispatch(messages, context, options = {}) ⇒ Protocol::Message | nil
Este método se llama dispatch ya que 'send' es un método central de Ruby en todos los objetos.
Para compatibilidad retroactiva, este método acepta los mensajes en un arreglo. Sin embargo, debe proporcionarse exactamente un mensaje por invocación.
Envía un solo mensaje a la conexión. Si el mensaje requiere respuesta, se devolverá una.
150 151 152 153 154 155 156 157 158 159 160 161 162 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 150 def despacho(, context, = {}) # El código de monitoreo no maneja correctamente múltiples mensajes, # y el driver, internamente, no envía más de un mensaje a la vez. # una vez más. Por lo tanto, se prohíbe el uso de mensajes múltiples por ahora. Si .longitud != 1 propagar ArgumentError, 'Solo se puede enviar un mensaje a la vez' end Si Descripción.¿desconocido? propagar Error::InternalDriverError, "Nose puede enviar un mensaje en una conexión con descripción desconocida: #{description.inspect}" end = .primera entregar(, context, ) end |
#generación ⇒ Entero | nulo
Generación del grupo de conexiones desde el que se creó esta conexión. Puede ser nula.
100 101 102 103 104 105 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 100 def generación # Si la conexión es a un balanceador de carga, se establece @generation # después de completar el protocolo de enlace. Si la conexión es a otro servidor # tipo, la generación se especifica durante la creación de la conexión. @generación || [:generación] end |
#service_id ⇒ nil | objeto
Devuelve el ID del servicio, si lo hay.
92 93 94 |
# Archivo 'lib/mongo/server/connection_base.rb', línea 92 def id_de_servicio Descripción&.id_de_servicio end |