클래스: Mongo::Server::ConnectionCommon
- 상속:
-
객체
- 객체
- Mongo::Server::ConnectionCommon
- 다음에 정의됨:
- lib/ Mongo/ 서버/connection_common.rb
개요
참고:
이 모듈의 메서드는 공개 API의 일부이지만 이러한 메서드가 이 모듈에서 정의되고 이 모듈을 포함하는 클래스에서 정의되지 않는다는 사실은 공개 API의 일부가 아닙니다.
모니터링 연결과 비모니터링 연결 모두에서 사용하는 일반적인 방법입니다.
직접 알려진 하위 클래스
인스턴스 속성 요약 접기
-
#압축기 ⇒ string | nil
읽기 전용
압축기가 이 연결을 위해 핸드셰이크 중에 협상했습니다(있는 경우).
-
#PID ⇒ 정수
읽기 전용
비공개
PID 연결이 생성되었을 때의 프로세스 ID 입니다.
인스턴스 메서드 요약 접기
- #연결되었나요? ⇒ 참, 거짓 사용 중단 더 이상 사용되지 않습니다.
-
#handshake_command(handshake_document) ⇒ Protocol::Message
비공개
연결 핸드셰이크에 사용해야 하는 명령을 빌드합니다.
-
#핸드셰이크 _문서 (app_metadata, speculative_auth_doc: nil, load_balancer: false, server_api: nil) ⇒ BSON::Document
비공개
연결 핸드셰이크에 사용해야 하는 문서를 작성합니다.
인스턴스 속성 세부 정보
#압축기 ⇒ string | nil (읽기 전용)
압축기가 이 연결을 위해 핸드셰이크 중에 협상했습니다(있는 경우).
이 속성은 아직 핸드셰이크를 완료하지 않은 연결과 압축을 협상하지 않은 연결의 경우 nil입니다.
34 35 36 |
# 파일 'lib/ Mongo/ 서버/connection_common.rb', 줄 34 def 압축기 @compressor end |
#PID ⇒ 정수 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
연결이 생성되었을 때의 PID 프로세스 ID 를 반환합니다.
50 51 52 |
# 파일 'lib/ Mongo/ 서버/connection_common.rb', 줄 50 def PID @pid end |
인스턴스 메서드 세부 정보
#연결되었나요? ⇒ true, false
더 이상 사용되지 않습니다.
연결이 현재 연결되어 있는지 확인합니다.
44 45 46 |
# 파일 'lib/ Mongo/ 서버/connection_common.rb', 줄 44 def 연결됨? !!소켓 end |
#handshake_command(handshake_document) ⇒ Protocol::Message
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
연결 핸드셰이크에 사용해야 하는 명령을 빌드합니다.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# 파일 'lib/ Mongo/ 서버/connection_common.rb', 줄 87 def 핸드셰이크 명령(핸드셰이크_문서) 만약 핸드셰이크_문서['apiVersion'] || 핸드셰이크_문서['loadBalanced'] protocol::메시지.신규( [], {}, 핸드셰이크_문서.merge({ '$db' => Database::ADMIN }) ) other protocol::쿼리.신규( Database::ADMIN, Database::명령, 핸드셰이크_문서, limit: -1 ) end end |
#핸드셰이크 _문서 (app_metadata, speculative_auth_doc: nil, load_balancer: false, server_api: nil) ⇒ BSON::Document
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
연결 핸드셰이크에 사용해야 하는 문서를 작성합니다.
65 66 67 68 69 70 71 72 73 74 75 76 |
# 파일 'lib/ Mongo/ 서버/connection_common.rb', 줄 65 def 핸드셰이크_문서(, speculative_auth_doc: nil, load_balancer: 거짓, server_api: nil) serv_api = .server_api || server_api 문서 = 만약 serv_api HELLO_DOC.merge(Utils.transformation_server_api(serv_api)) other LEGACY_HELLO_DOC end 문서.merge(.validated_document).탭 do |doc| doc.update(speculativeAuthenticate: speculative_auth_doc) 만약 speculative_auth_doc doc.update(loadBalanced: true) 만약 load_balancer end end |