クラス: Mongo::ClusterTime Private

継承:
BSON::ドキュメント
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb

Overview

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

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

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

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

名前空間で定義済み

Modules: コンシューマー

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

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

コンストラクターの詳細

#initialize(elements = nil) ⇒ ClusterTime

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

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



30
31
32
33
34
35
36
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行30

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

  場合 Lint.有効か & & !自己['clusterTime']
    発生 ArgumentError, ' clusterTime フィールドなしでのクラスター時間を作成します'
  end
end

クラスメソッドの詳細

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

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

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

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



97
98
99
100
101
102
103
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行97

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

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

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

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



78
79
80
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行78

デフォルト <(その他)
  (自己 <============================= その他) == -1
end

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

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



75
76
77
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行75

デフォルト <=(その他)
  (自己 <============================= その他) != 1
end

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

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

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



56
57
58
59
60
61
62
63
64
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行56

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

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

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

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



83
84
85
86
87
88
89
90
91
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行83

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

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

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



72
73
74
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行72

デフォルト >(その他)
  (自己 <============================= その他) == 1
end

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

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

古い Ruby では、< => を通じて他の論理演算子は実装されません。 TODO はJIRA.mongodb.org/browse/Ruby-{1 1622が実装されている場合にこれらのメソッドが必要かどうかを調べます。



69
70
71
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行69

デフォルト >=(その他)
  (自己 <============================= その他) != -1
end

# advanced (その他) = Object

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

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

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

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



45
46
47
48
49
50
51
52
53
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/cluster_time.rb', 行45

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