Clase: Mongo::TopologyVersion Privado

Hereda:
BSON::Documento
  • Objeto
Mostrar todo
Definido en:
lib/mongo/topology_version.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

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

Resumen del método de instancia colapsar

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.¿habilitado?
    a menos que doc['processId']
      propagar ArgumentError, 'Creando una versión de topología sin el campo processId'
    end
    a menos 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

#counterInteger

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:

  • (Número entero)

    El mostrador.



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

def Contador
  sí mismo['counter']
end

#gt?(otra) ⇒ 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 reciente que otra versión de topología.

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

Parámetros:

Devuelve:

  • (true | false)

    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?(other) ⇒ true | false

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 reciente o igual que otra versión de topología.

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

Parámetros:

Devuelve:

  • (true | false)

    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 id 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
  sí mismo['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::Document)

    El documento.



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

def to_doc
  BSON::Documento.Nuevo(sí mismo).fusionar(contador: BSON::Int64.Nuevo(Contador))
end