クラス: Mongo::ClusterTime Private

継承:
BSON::ドキュメント
  • オブジェクト
すべて表示
次のことが含まれます。
比較可能
定義:
lib/mongo/cluster_time.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ClusterTime は、クラスター時間のストレージと操作をカプセル化します。

クラスター時間に実行されるプライマリ操作は、それを進めるための別のクラスター時間が与えられ、2 つのうち新しい方が選択されます。

このクラスは、どのクラスター時間が新しいかを判断するために使用される比較メソッドを提供し、クラスター時間ドキュメントから実際の時間が欠落している場合は、int モードで診断を提供します。

名前空間で定義済み

Modules: コンシューマー

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#initialize(elements = nil) ⇒ ClusterTime

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ClusterTime の新しいインスタンスを返します。

次の値が発生します。

  • (ArgumentError)


31
32
33
34
35
36
37
# ファイル 'lib/mongo/cluster_time.rb' 行 31

デフォルト 初期化(要素 = nil)
  スーパー

  return ただし、 Lint.有効か & & !自己['clusterTime']

  発生 ArgumentError, ' clusterTime フィールドなしでのクラスター時間を作成します'
end

クラスメソッドの詳細

[] (doc) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

BSON::Document を ClusterTime に変換します。

doc は nil になる可能性があります。その場合 nil が返されます。



81
82
83
84
85
86
87
# ファイル 'lib/mongo/cluster_time.rb' 行 81

デフォルト [](doc)
  場合 doc.nil? || doc.is_a?(ClusterTime)
    doc
  else
    ClusterTime.新着情報(doc)
  end
end

インスタンス メソッドの詳細

# <=> (その他) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

タイムスタンプを比較して、2 つの ClusterTime インスタンスを比較します。



56
57
58
59
60
61
62
63
64
65
# ファイル 'lib/mongo/cluster_time.rb' 行 56

デフォルト <=============================(その他)
  場合 自己['clusterTime'] & & その他['clusterTime']
    自己['clusterTime'] <============================= その他['clusterTime']
  elsif !自己['clusterTime']
    発生 ArgumentError, "受信者に clusterTime キーがない場合、クラスター時間を比較できません: #{検査} "
  else
    その他['clusterTime']
    発生 ArgumentError, "他の で clusterTime キーが欠落している場合、クラスター時間を比較できません: #{その他の.を検査します } "
  end
end

# == (その他) =================================================================

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

タイムスタンプを比較して、2 つの ClusterTime インスタンスを比較します。



68
69
70
71
72
73
74
75
# ファイル 'lib/mongo/cluster_time.rb' 行 68

デフォルト ==(その他)
  場合 自己['clusterTime'] & & その他['clusterTime'] & &
     自己['clusterTime'] == その他['clusterTime']
    true
  else
    false
  end
end

# advanced (その他) = Object

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

受信者のクラスター時間をotherのクラスター時間に進める。

other は nil または受信者のクラスター時間より遅れている可能性があります。この場合、レシーバーは変更されずに返されます。 受信者が高度な場合、新しい ClusterTime オブジェクトが返されます。

戻り値は nil または ClusterTime インスタンスです。



46
47
48
49
50
51
52
53
# ファイル 'lib/mongo/cluster_time.rb' 行 46

デフォルト 事前(その他)
  場合 自己['clusterTime'] & & その他['clusterTime'] & &
     その他['clusterTime'] > 自己['clusterTime']
    ClusterTime[その他]
  else
    自己
  end
end