클래스: Mongo::Crypt::Status 비공개

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/crypt/status.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_t 처리하다 의 상태를 나타내는 mongocrypt_status_t를 감싸는 래퍼입니다.

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(pointer: nil) ⇒ 상태

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

포인터를 사용하여 상태 객체 를 초기화할 때 다음과 같습니다.

새 상태 객체 만들기

#self.from_pointer를 사용할 것을 권장합니다. 메서드

매개변수:

  • 포인터 (FFI::Pointer | nil) (기본값: nil)

    기존 mongocrypt_status_t 객체 에 대한 포인터입니다. 기본값은 nil입니다.



35
36
37
38
39
40
41
42
43
44
45
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 35

def 초기화(포인터: nil)
  # 포인터가 전달되면 이 클래스는 다음에 대한 책임이 없습니다.
  # 해당 포인터를 파기하고 데이터 할당을 해제합니다.
  #
  # FFI::AutoPointer는 사용자 지정 출시하다 전략을 사용하여
  # 이 객체 가 범위를 벗어나면 포인터
  @status = 포인터 || FFI::자동 포인터.신규(
                        바인딩.mongocrypt_status_new,
                        바인딩.메서드(:mongocrypt_status_destory)
                      )
end

클래스 메서드 세부 정보

.from_pointer(포인터) ⇒ Mongo::Crypt::Status

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_status_t 객체에 대한 기존 포인터에서 상태 객체를 초기화합니다.

매개변수:

  • 포인터 (FFI::Pointer)

    기존 mongocrypt_status_t 객체 에 대한 포인터

반환합니다:



54
55
56
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 54

def self.from_pointer(포인터)
  self.신규(포인터: 포인터)
end

인스턴스 메서드 세부 정보

#코드정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태와 관련된 정수 코드를 반환합니다.

반환합니다:

  • (정수)

    상태 코드(기본값: 0



90
91
92
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 90

def 코드
  바인딩.mongocrypt_status_code(@status)
end

#레이블기호

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태 레이블 반환

반환합니다:

  • (기호)

    상태 레이블인 :ok, :error_kms 또는 :error_client의 기본값은 :ok입니다.



83
84
85
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 83

def 레이블
  바인딩.mongocrypt_status_type(@status)
end

#메시지string

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태 메시지 반환

반환합니다:

  • (string)

    상태 메시지, 기본값은 빈 string .



97
98
99
100
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 97

def 메시지
  메시지 = 바인딩.mongocrypt_status_message(@status, nil)
  메시지 || ''
end

#네?부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태가 :ok로 표시되어 있는지 확인합니다.

반환합니다:

  • (부울)

    상태가 :ok인지 여부



105
106
107
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 105

def 좋아?
  바인딩.mongocrypt_status_ok(@status)
end

#raise_crypt_error(KMS: false) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

KMS 매개 변수가 false인 경우 오류는 여전히 KMS 에서 발생했을 수 있습니다. KMS 매개변수는 단순히 모든 오류를 KMS 오류로 처리하도록 강제합니다.

이 상태에 저장된 정보에 해당하는 Mongo::Error:CryptError를 발생시킵니다.

self.ok이면 아무것도 하지 않나요? is true

매개변수:

  • KMS (true | false) (기본값은 false)

    작업이 KMS 에 대한 작업인지 여부입니다.



127
128
129
130
131
132
133
134
135
136
137
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 127

def raise_crypt_error(KMS: 거짓)
  반환 만약 좋아?

  만약 KMS || 레이블 == :error_kms
    오류 = 오류::KmsError.신규(메시지, 코드: 코드)
  other
    오류 = 오류::CRYPTError.신규(메시지, 코드: 코드)
  end

  올리다 오류
end

#refFFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

기본 mongocrypt_status_t 객체 에 대한 참조를 반환합니다.

반환합니다:

  • (FFI::Pointer)

    기본 mongocrypt_status_t 객체에 대한 포인터입니다.



113
114
115
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 113

def ref
  @status
end

#업데이트(레이블, 코드, 메시지) ⇒ Mongo::Crypt::Status

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태에서 레이블, 코드 및 메시지를 설정합니다.

매개변수:

  • 레이블 (기호)

    :ok, :error_client 또는 :error_kms 중 하나입니다.

  • 코드 (정수)
  • 메시지 (string)

반환합니다:



65
66
67
68
69
70
71
72
73
74
75
76
77
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/status.rb', 줄 65

def update(레이블, 코드, 메시지)
  하지 않는 한 [:ok, :error_client, :error_kms].포함?(레이블)
    올리다 ArgumentError.신규(
      "#{레이블} 은(는) Mongo::Crypt::Status 레이블에 잘못된 값입니다. " +
      "레이블은 다음 값 중 하나를 가져야 합니다: :ok, :error_client, :error_kms"
    )
  end

  message_Length = 메시지 ? 메시지.bytesize + 1 : 0
  바인딩.mongocrypt_status_set(@status, 레이블, 코드, 메시지, message_Length)

  self
end