클래스: Mongo::ClusterTime Private
- 상속:
-
BSON::Document
- 객체
- BSON::Document
- Mongo::ClusterTime
- 다음에 정의됨:
- lib/ Mongo/cluster_time.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
ClusterTime은 클러스터 시간 저장 및 작업을 캡슐화합니다.
클러스터 시간에 수행되는 프라이머리 작업은 클러스터 시간을 앞당기는 것입니다: 다른 클러스터 시간이 주어지면 둘 중 더 새로운 시간을 선택합니다.
이 클래스는 어떤 클러스터 시간이 최신인지 파악하는 데 사용되는 비교 메서드를 제공하고, 클러스터 시간 문서에서 실제 시간이 누락된 경우 린트 모드에서 진단을 제공합니다.
네임스페이스 아래에 정의됨
모듈: 소비자
클래스 메서드 요약 접기
-
.[](doc) ⇒ 객체
비공개
BSON::Document를 ClusterTime으로 변환합니다.
인스턴스 메서드 요약 접기
- #<(기타) ⇒ 객체 비공개
- #<=(기타) ⇒ 객체 비공개
-
#<=>(기타) ⇒ 객체
비공개
타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.
-
#==(기타) ⇒ 객체
비공개
타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.
- #>(기타) ⇒ 객체 비공개
-
#>=(기타) ⇒ 객체
비공개
이전 Rubies는 <=>를 통해 다른 논리 연산자를 구현하지 않습니다.
-
#advanced(기타) ⇒ 객체
비공개
수신기의 클러스터 시간을
other
단위의 클러스터 시간으로 앞당깁니다. -
#initialize(elements = nil) ⇒ ClusterTime
생성자
비공개
ClusterTime의 새 인스턴스 입니다.
생성자 세부 정보
#initialize(elements = nil) ⇒ ClusterTime
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
ClusterTime의 새 인스턴스를 반환합니다.
30 31 32 33 34 35 36 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 30 def 초기화(요소 = nil) super 만약 Lint.활성화? && !self['clusterTime'] 올리다 ArgumentError, 'clusterTime 필드 없이 클러스터 시간 생성' end end |
클래스 메서드 세부 정보
.[](doc) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
BSON::Document를 ClusterTime으로 변환합니다.
doc
은 nil일 수 있으며, 이 경우 nil이 반환됩니다.
97 98 99 100 101 102 103 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 97 def [](doc) 만약 doc.nil? || doc.is_a?(ClusterTime) doc other ClusterTime.신규(doc) end end |
인스턴스 메서드 세부 정보
#<(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
78 79 80 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 78 def <(기타) (self <=> 기타) == -1 end |
#<=(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
75 76 77 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 75 def <=(기타) (self <=> 기타) != 1 end |
#<=>(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.
56 57 58 59 60 61 62 63 64 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 56 def <=>(기타) 만약 self['clusterTime'] && 기타['clusterTime'] self['clusterTime'] <=> 기타['clusterTime'] elsif !self['clusterTime'] 올리다 ArgumentError, "수신자에 clusterTime 키가 누락된 경우 클러스터 시간을 비교할 수 없습니다: #{검사}" other 기타['clusterTime'] 올리다 ArgumentError, "other 에 clusterTime 키가 누락된 경우 클러스터 시간을 비교할 수 없습니다: #{other.검사}" end end |
#==(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.
83 84 85 86 87 88 89 90 91 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 83 def ==(기타) 만약 self['clusterTime'] && 기타['clusterTime'] && self['clusterTime'] == 기타['clusterTime'] then true other 거짓 end end |
#>(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
72 73 74 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 72 def >(기타) (self <=> 기타) == 1 end |
#>=(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이전 Rubies는 <=>를 통해 다른 논리 연산자를 구현하지 않습니다. TODO는 jira.mongodb.org/browse/RUBY-1622 이 구현될 때 이러한 메서드가 필요한지 여부를 수정합니다.
69 70 71 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 69 def >=(기타) (self <=> 기타) != -1 end |
#advanced(기타) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
수신기의 클러스터 시간을 other
단위의 클러스터 시간으로 앞당깁니다.
other
nil이거나 수신자에서 클러스터 시간보다 늦을 수 있습니다. 이 경우 수신자는 수정되지 않은 상태로 반환됩니다. 수신자가 고급인 경우 새 ClusterTime 객체가 반환됩니다.
반환 값은 nil 또는 ClusterTime 인스턴스 입니다.
45 46 47 48 49 50 51 52 53 |
# 파일 'lib/ Mongo/cluster_time.rb', 줄 45 def 사전(기타) 만약 self['clusterTime'] && 기타['clusterTime'] && 기타['clusterTime'] > self['clusterTime'] then ClusterTime[기타] other self end end |