Clase: Mongo::TopologyVersion Privada

Hereda:
BSON::Documento
  • Objeto
Mostrar todo
Definido en:
lib/mongo/topology_version.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.

TopologyVersion encapsula el documento topologyVersion obtenido a partir de respuestas de saludo y no de errores OperationFailure de tipo maestro.

Colapso del resumen del método de instancia

Detalles del constructor

#initialize(doc) ⇒ TopologyVersion

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve una nueva instancia de TopologyVersion.



24
25
26
27
28
29
30
31
32
33
34
35
# Archivo 'lib/mongo/topology_version.rb', línea 24

def inicializar(doc)
  Si Lint.¿activado?
    a no ser que doc['processId']
      propagar ArgumentError, 'Creación de una versión de topología sin el campo processId'
    end
    a no ser que doc['counter']
      propagar ArgumentError, 'Creación de una versión de topología sin campo de contador'
    end
  end

  Super
end

Detalles del método de instancia

#contadorEntero

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el contador.

Devuelve:

  • (Entero)

    El mostrador.



43
44
45
# Archivo 'lib/mongo/topology_version.rb', línea 43

def contador
  yo['counter']
end

#gt?(otro) ⇒ verdadero | falso

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve si esta versión de topología es potencialmente más nueva que otra versión de topología.

Tenga en cuenta que no existe un orden total de versiones de topología: dadas dos versiones de topología, cada una puede ser "potencialmente más nueva" que la otra.

Parámetros:

Devuelve:

  • (verdadero | falso)

    Si esta versión de topología es potencialmente más nueva.



57
58
59
60
61
62
63
# Archivo 'lib/mongo/topology_version.rb', línea 57

def gt?(otros)
  Si id_del_proceso != otros.id_del_proceso
    true
  else
    contador > otros.contador
  end
end

#gte?(otro) ⇒ verdadero | falso

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve si esta versión de topología es potencialmente más nueva o igual que otra versión de topología.

Tenga en cuenta que no existe un orden total de versiones de topología: dadas dos versiones de topología, cada una puede ser "potencialmente más nueva" que la otra.

Parámetros:

Devuelve:

  • (verdadero | falso)

    Si esta versión de topología es potencialmente más nueva.



75
76
77
78
79
80
81
# Archivo 'lib/mongo/topology_version.rb', línea 75

def gte?(otros)
  Si id_del_proceso != otros.id_del_proceso
    true
  else
    contador >= otros.contador
  end
end

#process_idBSON::ObjectId

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el identificador del proceso.

Devuelve:

  • (BSON::ObjectId)

    El identificador del proceso.



38
39
40
# Archivo 'lib/mongo/topology_version.rb', línea 38

def id_del_proceso
  yo['processId']
end

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

Convierte el objeto en un documento adecuado para ser enviado al servidor.

Devuelve:

  • (BSON::Documento)

    El documento.



88
89
90
# Archivo 'lib/mongo/topology_version.rb', línea 88

def to_doc
  BSON::Documento.Nuevo(yo).unir(encimera: BSON::Entero64.Nuevo(contador))
end