클래스: Mongo::Socket Private
- 상속:
-
객체
- 객체
- Mongo::Socket
- 다음을 포함합니다.
- Socket::상수
- 다음에 정의됨:
- lib/ Mongo/socket.rb,
lib/ Mongo/socket/ssl.rb,
lib/ Mongo/socket/tcp.rb,
lib/ Mongo/socket/unix.rb,
lib/ Mongo/socket/ocsp_cache.rb,
lib/ Mongo/socket/ocsp_verifier.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
드라이버가 사용할 수 있도록 소켓 주위에 추가 데이터를 제공합니다.
네임스페이스 아래에 정의됨
모듈: ocspCache 클래스: ocspVerifier, SSL, TCP, Unix
상수 요약 접기
- SSL_ERROR =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
더 이상 사용되지 않습니다.TLS 관련 예외에 대한 오류 메시지입니다.
'MongoDB가 TLS 지원으로 구성되지 않았을 수 있습니다.'.동결
- TIMEOUT_ERROR =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
더 이상 사용되지 않습니다.소켓 호출의 시간 초과에 대한 오류 메시지입니다.
'소켓 요청 시간 초과'.동결
- TIMEOUT_PACK =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
시간 초과에 대한 팩 지시문입니다.
'l_2'.동결
- WRITE_CHUNK_SIZE =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 크기의 청크 단위로 소켓에 데이터를 씁니다.
65536
인스턴스 속성 요약 접기
-
#family ⇒ 정수
읽기 전용
비공개
패밀리 호스팅하다 패밀리의 유형입니다.
-
옵션 #개 ⇒ 해시
읽기 전용
비공개
옵션.
-
#socket ⇒ Socket
읽기 전용
비공개
소켓 래핑된 소켓입니다.
-
#timeout ⇒ Float
읽기 전용
비공개
시간 초과 소켓 시간 초과입니다.
인스턴스 메서드 요약 접기
-
#살아 있나요? ⇒ 참, 거짓
사용 중단
비공개
더 이상 사용되지 않습니다.
#connectable을 사용하시나요? 대신 연결에.
-
#닫기 ⇒ true
비공개
소켓을 닫습니다.
- #connectable? ⇒ true 사용 중단 비공개 더 이상 사용되지 않습니다.
-
#connection_address ⇒ 주소
비공개
이 소켓을 생성한 연결의 주소입니다.
-
#connection_generation ⇒ 정수
비공개
이 소켓을 생성한 연결의 생성(모니터링이 아닌 연결의 경우)입니다.
-
#eof? ⇒ 부울
비공개
이 소켓이 EOF에 도달했는지 테스트합니다.
-
#get(*args) ⇒ 객체
비공개
위임은 기본 소켓으로 이동합니다.
-
#initialize(timeout, options) ⇒ 소켓
생성자
비공개
공통 소켓 속성을 초기화합니다.
-
#모니터? ⇒ true | false
비공개
이 소켓이 모니터링 연결에 의해 생성되었는지 여부입니다.
-
# 읽기 (Length, socket_timeout: nil, timeout: nil) ⇒객체
비공개
제공된 바이트 수만큼 소켓에서 모든 데이터를 읽습니다.
-
#readbyte ⇒ 객체
비공개
소켓에서 단일 바이트를 읽습니다.
-
#요약 ⇒ string
비공개
디버깅을 위한 소켓에 대한 사람이 읽을 수 있는 요약입니다.
-
#쓰기(write) (*args, timeout: nil) ⇒ 정수
비공개
소켓 인스턴스 에 데이터를 씁니다.
생성자 세부 정보
#initialize(timeout, options) ⇒ 소켓
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
공통 소켓 속성을 초기화합니다.
69 70 71 72 |
# 파일 'lib/ Mongo/socket.rb', 69줄 def 초기화(타임아웃, ) @timeout = 타임아웃 @options = end |
인스턴스 속성 세부 정보
#family ⇒ 정수 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환 패밀리 호스트 패밀리의 유형입니다.
75 76 77 |
# 파일 'lib/ Mongo/socket.rb', 75줄 def family @패밀리 end |
#options ⇒ 해시 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
옵션을 반환합니다.
81 82 83 |
# 파일 'lib/ Mongo/socket.rb', 81줄 def @options end |
#소켓 ⇒ 소켓 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓을 반환합니다. 래핑된 소켓을 반환합니다.
78 79 80 |
# 파일 'lib/ Mongo/socket.rb', 78줄 def 소켓 @socket end |
#timeout ⇒ Float (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
시간 초과를 반환합니다. 소켓 시간 초과입니다.
84 85 86 |
# 파일 'lib/ Mongo/socket.rb', 84줄 def 타임아웃 @timeout end |
인스턴스 메서드 세부 정보
#살아 있나요? ⇒ true, false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
#connectable을 사용하시나요? 대신 연결에.
소켓 연결이 활성화되어 있나요?
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
# 파일 'lib/ Mongo/socket.rb', 134줄 def alive? sock_arr = [ @socket ] 만약 Kernel::SELECT(sock_arr, nil, sock_arr, 0) # eof? 호출은 선택 이후 즉시 반환되어야 합니다. # 소켓을 읽을 수 있음을 나타냅니다. 그러나 @socket이 TLS인 경우 # socket, eof? 어쨌든 차단할 수 있습니다 - RUBY-2140 참조. 시작 시간 초과.타임아웃(0.1) do eof? end 구출 ::시간 초과::오류 true end other true end end |
#닫기 ⇒ true
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓을 닫습니다.
160 161 162 163 164 165 166 167 168 169 170 |
# 파일 'lib/ Mongo/socket.rb', 160줄 def 닫기 시작 # 때때로 마감 콜이 오랫동안 중단될 수 있는 것처럼 보입니다. ::시간 초과.타임아웃(5) do @socket.닫기 end 구출 # 모든 오류 침묵 end true end |
#connectable? ⇒ true
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이전 버전과의 호환성을 위해서만 사용하지 마세요.
260 261 262 |
# 파일 'lib/ Mongo/socket.rb', 260줄 def 연결 가능? true end |
#connection_address ⇒ 주소
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓을 생성한 연결의 주소를 반환합니다.
89 90 91 |
# 파일 'lib/ Mongo/socket.rb', 89줄 def connection_address [:connection_address] end |
#connection_generation ⇒ 정수
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓을 생성한 연결(모니터링이 아닌 연결의 경우)의 생성을 반환합니다.
97 98 99 |
# 파일 'lib/ Mongo/socket.rb', 97줄 def connection_generation [:connection_generation] end |
#eof? ⇒ 부울
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓이 EOF에 도달했는지 테스트합니다. 주로 활성 상태 검사에 사용됩니다.
249 250 251 252 253 |
# 파일 'lib/ Mongo/socket.rb', 249줄 def eof? @socket.eof? 구출 IOError, SystemCallError true end |
#get(*args) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
위임은 기본 소켓으로 이동합니다.
182 183 184 185 186 |
# 파일 'lib/ Mongo/socket.rb', 182줄 def 가져오기(*args) map_Exceptions do @socket.가져오기(*args) end end |
#모니터? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 이 소켓이 모니터링 연결에 의해 생성되었는지 여부를 반환합니다.
105 106 107 |
# 파일 'lib/ Mongo/socket.rb', 105줄 def 모니터? !![:monitor] end |
# 읽기 (Length, socket_timeout: nil, timeout: nil)⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
제공된 바이트 수만큼 소켓에서 모든 데이터를 읽습니다. 데이터가 반환되지 않으면 예외가 발생합니다.
205 206 207 208 209 210 211 212 213 214 |
# 파일 'lib/ Mongo/socket.rb', 205줄 def 읽기(분량, socket_timeout: nil, timeout: nil) 만약 !socket_timeout.nil? && !타임아웃.nil? 올리다 ArgumentError, ' timeout과 socket_timeout은 모두 설정하다 수 없습니다. ' end 만약 !socket_timeout.nil? || 타임아웃.nil? read_without_timeout(분량, socket_timeout) other read_with_timeout(분량, 타임아웃) end end |
#readbyte ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓에서 단일 바이트를 읽습니다.
224 225 226 227 228 |
# 파일 'lib/ Mongo/socket.rb', 224줄 def readbyte map_Exceptions do @socket.readbyte end end |
#요약 ⇒ string
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
디버깅을 위해 사람이 읽을 수 있는 소켓 요약을 반환합니다.
112 113 114 115 116 117 118 119 120 121 122 123 124 |
# 파일 'lib/ Mongo/socket.rb', 112줄 def 요약 fileno = @socket&.fileno 구출 '<no socket> ' || '<no socket> ' 만약 모니터? 지표 = 만약 [:push] 'pm' other 'm' end "#{연결주소 };#{표시기};fd=#{파일 번호}" other "#{연결주소 };c:#{연결생성};fd=#{파일 번호}" end end |
#쓰기(write) (*args, timeout: nil) ⇒ 정수
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓 인스턴스 에 데이터를 씁니다.
240 241 242 243 244 |
# 파일 'lib/ Mongo/socket.rb', 240줄 def 쓰기(*args, timeout: nil) map_Exceptions do do_write(*args, timeout: 타임아웃) end end |