Classificação: Mongo::Servidor::Descrição
- Herda:
-
Objeto
- Objeto
- Mongo::Servidor::Descrição
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/ servidor/description.rb,
build/ruby-driver-v2.19/lib/mongo/ servidor/description/features.rb,
build/ruby-driver-v2.19/lib/mongo/ servidor/description/load_balancer.rb
Visão geral
Representa uma descrição do servidor, preenchido pelo resultado do comando hello .
Observação: servidores desconhecidos não têm versões de fio, mas, por motivos legado , retornamos 0 para min_wire_version e max_wire_version de qualquer servidor que não os tenha. Atualmente, o driver às vezes constrói comandos quando o servidor é desconhecido, portanto, as referências a min_wire_version e max_wire_version não devem ser nulas. Quando o comportamento do motorista é alterado (jira.mongodb.org/browse/RUBY-{21805), isso pode não ser mais necessário.
Definido sob namespace
Classes: Recursos, LoadBalancer
Colapsode resumo constante
- arbiter =
Obsoleto.
Constante para ler informações de árbitro de configuração.
'arbiterOnly'.congelar
- Árbitros =
Constante para ler informações de árbitros da configuração.
'árbitros'.congelar
- OCULTO =
Constante para ler informações ocultas da configuração.
'oculto'.congelar
- HOSTS =
Constante para ler informações de hosts da configuração.
'hosts'.congelar
- MESSAGE =
Obsoleto.
Constante para a chave para o valor da mensagem.
'msg'.congelar
- MONGOS_MSSAGE =
Obsoleto.
Constante para a mensagem que indica um cluster fragmentado.
'isdbgrade'.congelar
- REPLICA_SET =
Obsoleto.
Constante para determinar servidores fantasma.
'isreplicaset'.congelar
- MAX_BSON_OBJECT_SIZE =
Constante para ler informações de tamanho máximo de BSON da configuração.
'maxBsonObjectSize'.congelar
- MAX_MSSAGE_BYTES =
Constante para ler informações de tamanho máximo de mensagem de config.
'maxMessageSizeBytes'.congelar
- MAX_WIRE_VERSION =
Constante para a versão máxima do fio.
'maxWireVersion'.congelar
- MIN_WIRE_VERSION =
Constante para a versão mínima do fio.
'minWireVersion'.congelar
- MAX_WRITE_BATCH_SIZE =
Constante para ler o tamanho máximo do lote de gravação.
'maxWriteBatchSize'.congelar
- LAST_WRITE =
Constante para o subdocumento lastWrite.
'lastWrite'.congelar
- LAST_WRITE_DATE =
Constante para o campo lastWriteDate no subdocumento lastWrite.
'lastWriteDate'.congelar
- eu =
Constante para ler o campo me .
'me'.congelar
- DEFAULT_MAX_WRITE_BATCH_SIZE =
Tamanho máximo do lote de gravação padrão.
1000.congelar
- LGACY_WIRE_VERSION =
Obsoleto.
Será removido em 3.0.
A versão legado do protocolo de conexão .
0.congelar
- Passiva =
Constante para ler informações passivas da configuração.
'passivo'.congelar
- Passivos =
Constante para ler a lista de servidor passivos.
'passivos'.congelar
- PRIMARY =
Obsoleto.
Constante para ler informações primárias da configuração.
'ismaster'.congelar
- PRIMARY_HOST =
Constante para ler o campo de host primário da configuração.
'primary'.congelar
- SECUNDÁRIO =
Obsoleto.
Constante para ler informações secundárias da configuração.
'secundário'.congelar
- set_name =
Constante para ler informações de nome do conjunto de réplicas da configuração.
'setName'.congelar
- TAGS =
Constante para ler informações de tags da configuração.
'tags'.congelar
- ELECTION_ID =
Constante para ler informações electionId da configuração.
'electionId'.congelar
- set_VERSION =
Constante para ler informações setVersion da configuração.
'setVersion'.congelar
- LOCAL_TIME =
Constante para ler informações de localTime da configuração.
'localTime'.congelar
- Operation_time =
Constante para ler informações de operationTime da configuração.
'operationTime'.congelar
- LOGical_SESSION_TIMEOUT_MINUSES =
Constante para ler informações logicalSessionTimeoutMinutes de config.
'logicalSessionTimeoutMinutes'.congelar
- CONNECTION_ID =
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.
Constante para ler informações connectionId da configuração.
'connectionId'.congelar
- EXCLUDE_FOR_COMPARISON =
Campos a serem excluídos ao comparar duas descrições.
[ LOCAL_TIME, LAST_WRITE, operation_time, (operação)::CLUSTER_TIME, CONNECTION_ID, ].congelar
Recolhimento do Resumo do atributo de instância
-
#endereço ➤ Endereço
Somente leitura
Endereço O endereço do servidor.
-
#average_round_trip_time ➤ Flutuante
Somente leitura
O tempo médio móvel que a chamada de saudação levou para ser concluída.
-
#config ⇒ Hash
Somente leitura
O resultado real do comando hello .
-
#last_update_monotime ⇒ Float
Somente leitura
privado
Hora em que esta descrição de servidor foi criada de acordo com o relógio monotônico.
-
#last_update_time ➤ Hora
Somente leitura
Hora em que esta descrição de servidor foi criada.
Recolhimento do Resumo do método de instância
-
#==(outros) ➤ verdadeiro, falso (também: #eql?)
Verifique a igualdade de duas descrições.
-
#árbitro? ➤ verdadeiro, falso
Retorna se este servidor é um árbitro, de acordo com a especificação do SDAM.
-
#arbiters } Array<String>
Obtenha uma lista de todos os árbitros no conjunto de réplicas.
-
#data_Bearing? ➤ verdadeiro, falso
Se essa descrição é de um servidor com dados (autônomo, mongos, primário ou secundário).
-
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
-
#feature ⇒ Feature
Recursos Os recursos do servidor.
-
#fantasma? ➤ verdadeiro, falso
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
-
#oculto? ➤ verdadeiro, falso
Retornará verdadeiro se o servidor estiver oculto.
-
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
-
#initialize(address, config = {}, average_round_trip_time: nil, load_balancer: false, force_load_balancer: false) ➤ Descrição
construtor
privado
Instale a nova descrição do servidor a partir do resultado do comando hello ou crie uma descrição de espaço reservado para os servidores Unknown e LoadBalancer.
-
#inspecionar ➤ string
Inspecione a descrição do servidor .
- #is_server?(servidor) ➤ verdadeiro, falso obsoleto Obsoleto.
-
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
- #lists_server?(servidor) ➤ verdadeiro, falso obsoleto Obsoleto.
-
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
-
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
-
#max_bson_object_size ➤ Inteiro
Obtenha o tamanho máximo do objeto BSON para esta versão do servidor .
-
#max_message_size ➤ Inteiro
Obtenha o tamanho máximo de mensagem para esta versão do servidor.
-
#max_wire_version ➤ Inteiro
Obtenha a versão máxima do fio.
-
#max_write_batch_size ➤ Inteiro
Obtenha o tamanho máximo do lote para gravações.
-
#me ➤ string
Obtenha o valor do campo me.
-
#me_mismatch? ➤ verdadeiro, falso
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
-
#min_wire_version ➤ Integer
Obtenha a versão mínima com fio.
-
#mongos? ➤ verdadeiro, falso
Retorna se este servidor é um mongos, de acordo com a especificação do SDAM.
- #ok? ➤ Booleano privado
-
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
-
#outro? ➤ verdadeiro, falso
Retorna se o servidor é outro, de acordo com a especificação do SDAM.
-
#passivo? ➤ verdadeiro, falso
Retornará verdadeiro se o servidor for passivo.
-
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
-
#primary? ➤ verdadeiro, falso
Retorna se este servidor é um primary, de acordo com a especificação do SDAM.
-
#primary_host ➤ string | nada
Obtenha o endereço do host primário.
-
#replica_set_member? ➤ verdadeiro, falso
Esta descrição corresponde a um membro do conjunto de réplicas.
-
#replica_set_name ➤ string?
Obtenha o nome do conjunto de réplicas ao qual o servidor pertence, retorna nulo se não houver.
-
#secundário? ➤ verdadeiro, falso
Retorna se este servidor é secundário, de acordo com a especificação do SDAM.
- #server_connection_id ➤ Objeto
-
#server_type ⇒ Symbol
Retorna o tipo de servidor como um símbolo.
- #server_version_gte?(versão) ➤ Booleano privado
-
#servidores ➤ Array<String>
Obtenha uma lista de todos os servidores conhecidos do cluster.
-
#service_id ➤ nil | Objeto
A ID do serviço, se houver.
-
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
-
#autônomo? ➤ verdadeiro, falso
Retorna se o servidor é autônomo, de acordo com a especificação do SDAM.
-
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
-
#topology_version ➤ TopologyVersion | nada
A versão da topologia.
-
#topology_version_gt?(outras_desc) ➤ true | false
privado
Retorna se a versão de topologia nesta descrição é potencialmente mais recente ou igual à versão de topologia em outra descrição.
-
#topology_version_gte?(outras_desc) ➤ true | false
privado
Retorna se a versão de topologia nesta descrição é potencialmente mais recente do que a versão de topologia em outra descrição.
-
#desconhecido? ➤ verdadeiro, falso
Retorna se este servidor é desconhecido, de acordo com a especificação do SDAM.
-
#wire_versions ➤ Intervalo
Obtenha a faixa de versões de fio suportadas para o servidor.
Detalhes do construtor
#initialize(address, config = {}, average_round_trip_time: nil, load_balancer: false, force_load_balancer: false) ➤ Descriçã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.
Instale a nova descrição do servidor a partir do resultado do comando hello ou crie uma descrição de espaço reservado para os servidores Unknown e LoadBalancer.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 220 def inicializar(endereço, config = {}, average_round_trip_time: nada, load_balancer: false, force_load_balancer: false ) @address = endereço @config = config @load_balancer = !!load_balancer @force_load_balancer = !!force_load_balancer @features = Características.Novo(wire_versions, eu || @address.to_s) @average_round_trip_time = average_round_trip_time @last_update_time = Hora.agora.congelar @last_update_monotime = Utilidades.monotonic_time se load_balancer # Quando a opção loadBalanced=true URI estiver definida, o motorista recusará # para funcionar se o servidor com o qual ele se comunica não definir serviceId # na resposta ismaster/hello. # # No momento, não podemos executar uma configuração adequada do balanceador de carga em evergreen # # Portanto, quando a opção connect=:load_balanced Ruby é usada # da opção loadBalanced=true URI, se serviceId não estiver definido em # resposta ismaster/hello, o driver fabrica um serviceId e # continua tratando um servidor que não se identifica como sendo # atrás de um balanceador de carga como um servidor que está atrás de um balanceador de carga. # # 5.0+ servidores devem fornecer topologyVersion.processId qual # é específico para a instância de processo específica. Podemos usar isso campo # como proxy para serviceId. # # Se a topologyVersion não for fornecida por qualquer motivo, nós # fabricar um serviceId localmente. # # Em ambos os casos, um serviceId fornecido por um servidor real por trás # um balanceador de carga deve ser um BSON::ObjectId. O falso # os IDs de serviço são strings, para diferenciá-los dos reais. # Em particular, processId também é um BSON::ObjectId, mas será # mapeado para uma string para maior clareza de que esta é uma ID de serviço falsa. # # TODO: Remova isto quando https://jira.mongodb.org/browse/RUBY-2881 terminar. se tudo bem? && !service_id a menos que force_load_balancer aumentar Erro::missingServiceId, "O servidor em #{endereço.seed} não forneceu uma ID de serviço na resposta do handshake" end false_service_id = se process_id = topology_version && topology_version['processId'] "process:#{process_id}" mais "falso:#{random(2**32-1)+1}" end @config = @config.mesclar('serviceId' => false_service_id) end end se mongo::Lint.habilitado? # preencher previamente variáveis de instância de cache hosts Árbitros Passivos topology_version congelar end end |
Detalhes do atributo da instância
#endereço ➤ Endereço (somente leitura)
Retorna endereço O endereço do servidor.
285 286 287 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 285 def endereço @address end |
#average_round_trip_time ➤ Flutuante (somente leitura)
Retorna O tempo médio móvel que a chamada de saudação levou para ser concluída.
303 304 305 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 303 def average_round_trip_time @average_round_trip_time end |
#config ➤ Hash (somente leitura)
Retorna o resultado real do comando hello.
288 289 290 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 288 def config @config end |
#last_update_monotime ➤ 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.
Hora em que esta descrição de servidor foi criada de acordo com o relógio monotônico.
835 836 837 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 835 def last_update_monotime @last_update_monotime end |
#last_update_time ➤ Hora (somente leitura)
Desta vez não indica quando uma verificação de servidor bem-sucedida
Hora em que esta descrição de servidor foi criada.
concluído, porque marcar um servidor desconhecido atualiza sua descrição e last_update_time. Use Server#last_scan para descobrir quando o servidor foi verificado pela última vez pelo Monitor.
826 827 828 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 826 def last_update_time @last_update_time end |
Detalhes do método de instância
#==(outro) ➤ true, false Também conhecido como: eql?
Verifique a igualdade de duas descrições.
859 860 861 862 863 864 865 866 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 859 def ==(Outro) Método false se auto.classe != Outro.classe Método false se desconhecido? || Outro.desconhecido? (config.keys + Outro.config.keys).uniq.todos? fazer |k| config[k] == Outro.config[k] || EXCLUDE_FOR_COMPARISON.incluir?(k) end end |
#árbitro? ➤ true, false
Retorna se este servidor é um árbitro, de acordo com a especificação do SDAM.
313 314 315 316 317 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 313 def árbitro? tudo bem? && config['arbiterOnly'] == true && !!config['setName'] end |
#arbiters } Array<String>
Obtenha uma lista de todos os árbitros no conjunto de réplicas.
327 328 329 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 327 def Árbitros @arbiters ||= (config[Árbitros] || []).map { |s| s.downcase } end |
#data_Bearing? ➤ true, false
Se essa descrição é de um servidor com dados (autônomo, mongos, primário ou secundário).
789 790 791 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 789 def data_Bearing? mongos? || primário? || secundário? || autônomo? end |
#election_id ➤ BSON::ObjectId
Obtenha o electionId da configuração.
475 476 477 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 475 def election_id config[ELECTION_ID] end |
#feature ⇒ Feature
Retorna recursos Os recursos do servidor.
298 299 300 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 298 def características @features end |
#fantasma? ➤ true, false
Se este servidor é um fantasma, de acordo com a especificação do SDAM.
339 340 341 342 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 339 def ghost? tudo bem? && config['isreplicaset'] == true end |
#oculto? ➤ true, false
Retornará verdadeiro se o servidor estiver oculto.
352 353 354 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 352 def oculto? tudo bem? && !!config[Oculto] end |
#hosts ➤ Array<String>
Obtenha uma lista de todos os servidores no conjunto de réplicas.
364 365 366 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 364 def hosts @hosts ||= (config[HOSTS] || []).map { |s| s.downcase } end |
#inspecionar ➤ string
Inspecione a descrição do servidor .
376 377 378 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 376 def inspecionar "#<Mongo::Server:Description:0x#{object_id} config=#{config} average_round_trip_time=#{average_round_trip_time}>" end |
#is_server?(servidor) ➤ verdadeiro, falso
Esta descrição é do servidor fornecido.
751 752 753 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 751 def is_server?(Servidor) endereço == Servidor.endereço end |
#last_write_date ➤ Hora
Obtenha o lastWriteDate do subdocumento lastWrite na configuração.
540 541 542 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 540 def last_write_date config[LAST_WRITE][LAST_WRITE_DATE] se config[LAST_WRITE] end |
#lists_server?(servidor) ➤ verdadeiro, falso
É um servidor incluído na lista de servidores desta descrição.
765 766 767 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 765 def lists_server?(Servidor) Servidores.incluir?(Servidor.endereço.to_s) end |
#load_balancer? ➤ verdadeiro | false
Retorna se este servidor é um balanceador de carga .
293 294 295 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 293 def load_balancer? @load_balancer end |
#logical_session_timeout ⇒ Integer?
Obtenha o logicalSessionTimeoutMinutes da configuração.
552 553 554 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 552 def logical_session_timeout config[LOGical_SESSION_TIMEOUT_MINUSES] se config[LOGical_SESSION_TIMEOUT_MINUSES] end |
#max_bson_object_size ➤ Inteiro
Obtenha o tamanho máximo do objeto BSON para esta versão do servidor .
388 389 390 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 388 def max_bson_object_size config[MAX_BSON_OBJECT_SIZE] end |
#max_message_size ➤ Inteiro
Obtenha o tamanho máximo de mensagem para esta versão do servidor.
400 401 402 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 400 def config[MAX_MSSAGE_BYTES] end |
#max_wire_version ⇒ Integer
Obtenha a versão máxima do fio. O padrão é zero.
424 425 426 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 424 def max_wire_version config[MAX_WIRE_VERSION] || 0 end |
#max_write_batch_size ➤ Inteiro
Obtenha o tamanho máximo do lote para gravações.
412 413 414 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 412 def max_write_batch_size config[MAX_WRITE_BATCH_SIZE] || DEFAULT_MAX_WRITE_BATCH_SIZE end |
#me ➤ string
O valor no campo me pode ser diferente do endereço da descrição do servidor . Isso pode acontecer, por exemplo, em configurações de horizonte divisão . A especificação SDAM exige apenas a remoção de servidores cujo eu não corresponda ao endereço em algumas das situações (por exemplo, quando o servidor em questão é um membro do RS, mas não um primário).
Obtenha o valor do campo me.
451 452 453 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 451 def eu config[eu] end |
#me_mismatch? ➤ true, false
Verifique se há uma incompatibilidade entre o host de endereço e o campo me .
801 802 803 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 801 def me_mismatch? !!(endereço.to_s.downcase != eu.downcase se eu) end |
#min_wire_version ➤ Integer
Obtenha a versão mínima com fio. O padrão é zero.
436 437 438 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 436 def min_wire_version config[MIN_WIRE_VERSION] || 0 end |
#mongos? ➤ true, false
Retorna se este servidor é um mongos, de acordo com a especificação do SDAM.
564 565 566 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 564 def mongos? tudo bem? && config['msg'] == 'isdbgrade' end |
#ok? ➤ 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.
725 726 727 728 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 725 def tudo bem? config[(operação)::Resultado::OK] && config[(operação)::Resultado::OK] == 1 || false end |
#op_time ⇒ BSON::Timestamp
optime no subdocumento lastWrite da resposta hello.
810 811 812 813 814 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 810 def op_time se config['lastWrite'] && config['lastWrite']['optime'] config['lastWrite']['optime']['ts'] end end |
#outro? ➤ true, false
Retorna se o servidor é outro, de acordo com a especificação do SDAM.
576 577 578 579 580 581 582 583 584 585 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 576 def outro? # A especificação do SDAM é um pouco confusa sobre o que "outro" significa, # mas é referido como "RSOther", o que significa um não membro do RS # não pode ser "outro". tudo bem? && !!config['setName'] && ( config['oculto'] == true || !primário? && !secundário? && !árbitro? ) end |
#passivo? ➤ true, false
Retornará verdadeiro se o servidor for passivo.
595 596 597 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 595 def passivo? tudo bem? && !!config[Passiva] end |
#passivos ➤ Array<String>
Obtenha uma lista dos servidores passivos no cluster.
607 608 609 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 607 def Passivos @passives ||= (config[Passivos] || []).map { |s| s.downcase } end |
#primary? ➤ true, false
Retorna se este servidor é um primary, de acordo com a especificação do SDAM.
631 632 633 634 635 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 631 def primário? tudo bem? && (config['ismaster'] == true || config['isWritablePrimary'] == true ) && !!config['setName'] end |
#primary_host ➤ string | nada
Obtenha o endereço do host primário.
619 620 621 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 619 def primary_host config[PRIMARY_HOST] && config[PRIMARY_HOST].downcase end |
#replica_set_member? ➤ true, false
Esta descrição corresponde a um membro do conjunto de réplicas.
778 779 780 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 778 def replica_set_member? tudo bem? && !(autônomo? || mongos?) end |
#replica_set_name ➤ string?
Obtenha o nome do conjunto de réplicas ao qual o servidor pertence, retorna nulo se não houver.
646 647 648 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 646 def replica_set_name config[Set_NAME] end |
#secundário? ➤ true, false
Retorna se este servidor é secundário, de acordo com a especificação do SDAM.
670 671 672 673 674 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 670 def secundário? tudo bem? && config['secundário'] == true && !!config['setName'] end |
#server_connection_id ➤ Objeto
838 839 840 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 838 def server_connection_id config['connectionId'] end |
#server_type ➤ Símbolo
Retorna o tipo de servidor como um símbolo.
684 685 686 687 688 689 690 691 692 693 694 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 684 def server_type Método :load_balancer se load_balancer? Método : árbitro se árbitro? Método :ghost se ghost? Método :sharded se mongos? Método :primary se primário? Método :secondary se secundário? Método : autônomo se autônomo? Método :OTHER se outro? :unknown end |
#server_version_gte?(version) ⇒ Boolean
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.
870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 870 def server_version_gte?(Versão) require_wv = caso Versão quando '7.0' 21 quando '6.0' 17 quando '5.2' 15 quando '5.1' 14 quando '5.0' 12 quando '4.4' 9 quando '4.2' 8 quando '4.0' 7 quando '3.6' 6 quando '3.4' 5 quando '3.2' 4 quando '3.0' 3 quando '2.6' 2 mais aumentar ArgumentError, "Versão exigida falsa #{version}" end se load_balancer? # Se estivermos falando com um balancer de carga, não há monitoramento # e não sabemos qual servidor está atrás do balanceador de carga . # Suponha que tudo seja suportado. # TODO remova isso quando o RUBY-2220 for implementado. Método true end require_wv >= min_wire_version && require_wv <= max_wire_version end |
#servidores ➤ Array<String>
Obtenha uma lista de todos os servidores conhecidos do cluster.
658 659 660 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 658 def Servidores hosts + Árbitros + Passivos end |
#service_id ➤ nil | Objeto
Retorna A ID do serviço, se houver.
845 846 847 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 845 def service_id config['serviceId'] end |
#set_version ⇒ Integer
Obtenha o setVersion a partir da configuração.
487 488 489 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 487 def set_version config[set_VERSION] end |
#autônomo? ➤ true, false
Retorna se o servidor é autônomo, de acordo com a especificação do SDAM.
704 705 706 707 708 709 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 704 def autônomo? tudo bem? && config['msg'] != 'isdbgrade' && config['setName'].nada? && config['isreplicaset'] != true end |
#tags ➤ Hash
Obtenha as tags configuradas para o servidor.
463 464 465 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 463 def config[Tags] || {} end |
#topology_version ➤ TopologyVersion | nada
Retorna a versão da topologia.
492 493 494 495 496 497 498 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 492 def topology_version a menos que definido?(@topology_version) @topology_version = config['topologyVersion'] && Versão de topologia.Novo(config['topologyVersion']) end @topology_version end |
#topology_version_gt?(outras_desc) ➤ 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.
Retorna se a versão de topologia nesta descrição é potencialmente mais recente ou igual à versão de topologia em outra descrição.
508 509 510 511 512 513 514 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 508 def topology_version_gt?(other_desc) se topology_version.nada? || other_desc.topology_version.nada? true mais topology_version.gt?(other_desc.topology_version) end end |
#topology_version_gte?(outras_desc) ➤ 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.
Retorna se a versão de topologia nesta descrição é potencialmente mais recente do que a versão de topologia em outra descrição.
524 525 526 527 528 529 530 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 524 def topology_version_gte?(other_desc) se topology_version.nada? || other_desc.topology_version.nada? true mais topology_version.gte?(other_desc.topology_version) end end |
#desconhecido? ➤ true, false
Retorna se este servidor é desconhecido, de acordo com a especificação do SDAM.
719 720 721 722 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 719 def desconhecido? Método false se load_balancer? config.vazio? || config.keys == %w(topologyVersion) || !tudo bem? end |
#wire_versions ➤ Intervalo
Obtenha a faixa de versões de fio suportadas para o servidor.
738 739 740 |
# File 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', linha 738 def wire_versions min_wire_version..max_wire_version end |