클래스: Mongo::CsotTimeoutHolder Private
- 상속:
-
객체
- 객체
- Mongo::CsotTimeoutHolder
- 다음에 정의됨:
- lib/mongo/csot_timeout_holder.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 클래스는 작업 시간 제한을 저장하고 해당 헬퍼 메서드를 제공합니다.
직접 알려진 하위 클래스
인스턴스 속성 요약 접기
- #마감일 ⇒ 객체 읽기 전용 비공개
- #operation_timeout ⇒ 객체 읽기 전용 비공개
- #timeout_sec ⇒ 객체 읽기 전용 비공개
인스턴스 메서드 요약 접기
-
#check_timeout! ⇒ 객체
비공개
작업 시간 제한이 만료되었는지 확인하고, 만료된 경우 적절한 오류를 발생시킵니다.
-
#csot? ⇒ true | false
비공개
작업에 CSOT를 사용할 수 있는지 여부입니다.
-
#initialize(session: nil, operation_timeout: {}) ⇒ CsotTimeoutHolder
생성자
비공개
CsotTimeoutHolder의 새 인스턴스 입니다.
-
#남은_타임아웃_ms ⇒ 정수 | nil
비공개
작업에 대해 설정하다 제한 시간의 남은 밀리초를 반환합니다. 제한 시간이 설정하다 않았거나 제한 시간이 0이면(무제한을 의미) nil을 반환합니다.
- #남은_타임아웃_ms! ⇒ 객체 비공개
-
#남은_시간_초 ⇒ 플로트 | nil
비공개
작업에 대해 설정하다 제한 시간의 남은 시간(초)을 반환합니다. 제한 시간이 설정하다 않았거나 제한 시간이 0이면(무제한을 의미) nil을 반환합니다.
- #남은_시간_초! ⇒ 객체 비공개
-
#timeout? ⇒ true | false
비공개
CSOT가 활성화되지 않았거나 CSOT가 0 (무제한을 의미)로 설정하다 경우 false를 반환하고, 그렇지 않으면 true를 반환합니다.
-
#timeout_expired? ⇒ true | false
비공개
작업 시간 제한이 만료되었는지 여부입니다.
생성자 세부 정보
#initialize(session: nil, operation_timeout: {}) ⇒ CsotTimeoutHolder
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
CsotTimeoutHolder의 새 인스턴스 반환합니다.
22 23 24 25 26 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 22 def 초기화(세션: nil, operation_timeout: {}) @deadline = compute_deadline(operation_timeout, Session) @operation_timeout = operation_timeout @timeout_sec = (@deadline - Utils.단조적 시간 만약 @deadline) end |
인스턴스 속성 세부 정보
#Deadline ⇒ 객체(읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
28 29 30 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 28 def 마감일 @deadline end |
#operation_timeout ⇒ 객체(읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
28 29 30 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 28 def operation_timeout @operation_timeout end |
#timeout_sec ⇒ 객체(읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
28 29 30 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 28 def timeout_sec @timeout_sec end |
인스턴스 메서드 세부 정보
#check_timeout! ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업 시간 제한이 만료되었는지 확인하고, 만료된 경우 적절한 오류를 발생시킵니다.
84 85 86 87 88 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 84 def check_timeout! 반환 하지 않는 한 timeout_expired? 올리다 오류::시간 초과 오류, "작업에 #{timeout_sec}초 이상 소요됨" end |
#csot? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업에 CSOT를 사용할 수 있는지 여부를 반환합니다.
31 32 33 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 31 def csot? !마감일.nil? end |
#남은_타임아웃_ms ⇒ 정수 | nil
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업에 대해 설정하다 제한 시간의 남은 밀리초를 반환합니다. 제한 시간이 설정하다 않았거나 제한 시간이 0이면(무제한을 의미) nil을 반환합니다.
58 59 60 61 62 63 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 58 def 나머지_시간 초과_ms 초 = 나머지_시간 초과_초 반환 nil 만약 초.nil? (초 * 1_000).to_i end |
#남은_타임아웃_ms! ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
65 66 67 68 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 65 def 잔여 시간 초과_ms! check_timeout! 나머지_시간 초과_ms end |
#남은_시간_초 ⇒ 플로트 | nil
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업에 대해 설정하다 제한 시간의 남은 시간(초)을 반환합니다. 제한 시간이 설정하다 않았거나 제한 시간이 0이면(무제한을 의미) nil을 반환합니다.
44 45 46 47 48 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 44 def 나머지_시간 초과_초 반환 nil 하지 않는 한 시간 초과? 마감일 - Utils.단조적 시간 end |
#남은_시간_초! ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
50 51 52 53 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 50 def 나머지_시간 초과_초! check_timeout! 나머지_시간 초과_초 end |
#timeout? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
CSOT가 활성화되지 않았거나 CSOT가 0 (무제한을 의미)로 설정하다 경우 false를 반환하고, 그렇지 않으면 true를 반환합니다.
37 38 39 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 37 def 시간 초과? ![ nil, 0 ].포함?(@deadline) end |
#timeout_expired? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업 시간 제한이 만료되었는지 여부를 반환합니다. 제한 시간이 설정하다 되지 않은 경우 이 메서드는 false를 반환합니다.
72 73 74 75 76 77 78 |
# 파일 'lib/ Mongo/csot_timeout_holder.rb', 줄 72 def timeout_expired? 만약 시간 초과? Utils.단조적 시간 >= 마감일 other 거짓 end end |