클래스: Mongo::Socket Private
- 상속:
-
객체
- 객체
- Mongo::Socket
- 다음을 포함합니다.
- Socket::상수
- 다음에 정의됨:
- 빌드/ Ruby-driver-v2.19/lib/mongo/socket.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/socket/ssl.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/socket/tcp.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/socket/unix.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb,
빌드/ Ruby-driver-v2.19/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
비공개
이 소켓이 모니터링 연결에 의해 생성되었는지 여부입니다.
-
#read(length, timeout: nil) ⇒ Object
비공개
제공된 바이트 수만큼 소켓에서 모든 데이터를 읽습니다.
-
#readbyte ⇒ 객체
비공개
소켓에서 단일 바이트를 읽습니다.
-
#요약 ⇒ string
비공개
디버깅을 위한 소켓에 대한 사람이 읽을 수 있는 요약입니다.
-
#쓰기 (write)(*args) ⇒ 정수
비공개
소켓 인스턴스 에 데이터를 씁니다.
생성자 세부 정보
#initialize(timeout, options) ⇒ 소켓
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
공통 소켓 속성을 초기화합니다.
69 70 71 72 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 69 def 초기화(타임아웃, ) @timeout = 타임아웃 @options = end |
인스턴스 속성 세부 정보
#family ⇒ 정수 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환 패밀리 호스트 패밀리의 유형입니다.
75 76 77 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 75 def family @패밀리 end |
#options ⇒ 해시 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
옵션을 반환합니다.
81 82 83 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 81 def @options end |
#소켓 ⇒ 소켓 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓을 반환합니다. 래핑된 소켓을 반환합니다.
78 79 80 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 78 def 소켓 @socket end |
#timeout ⇒ Float (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
시간 초과를 반환합니다. 소켓 시간 초과입니다.
84 85 86 |
# 파일 'build/ruby-driver-v2.19/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 |
# 파일 'build/ruby-driver-v2.19/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 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 160 def 닫기 시작 # 때때로 마감 콜이 오랫동안 중단될 수 있는 것처럼 보입니다. ::시간 초과.타임아웃(5) do @socket.닫기 end 구출 # 모든 오류 침묵 end true end |
#connectable? ⇒ true
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이전 버전과의 호환성을 위해서만 사용하지 마세요.
262 263 264 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 262 def 연결 가능? true end |
#connection_address ⇒ 주소
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓을 생성한 연결의 주소를 반환합니다.
89 90 91 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 89 def connection_address [:connection_address] end |
#connection_generation ⇒ 정수
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓을 생성한 연결(모니터링이 아닌 연결의 경우)의 생성을 반환합니다.
97 98 99 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 97 def connection_generation [:connection_generation] end |
#eof? ⇒ 부울
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 소켓이 EOF에 도달했는지 테스트합니다. 주로 활성 상태 검사에 사용됩니다.
251 252 253 254 255 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 251 def eof? @socket.eof? 구출 IOError, SystemCallError true end |
#get(*args) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
위임은 기본 소켓으로 이동합니다.
182 183 184 185 186 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 182 def 가져오기(*args) map_Exceptions do @socket.가져오기(*args) end end |
#모니터? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 이 소켓이 모니터링 연결에 의해 생성되었는지 여부를 반환합니다.
105 106 107 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 105 def 모니터? !![:monitor] end |
#읽기(Length, timeout: nil) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
제공된 바이트 수만큼 소켓에서 모든 데이터를 읽습니다. 데이터가 반환되지 않으면 예외가 발생합니다.
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 202 def 읽기(분량, timeout: nil) map_Exceptions do 데이터 = read_from_socket(분량, timeout: 타임아웃) 하지 않는 한 (데이터.분량 > 0 || 분량 == 0) 올리다 IOError, "> 0 바이트를 읽을 것으로 예상되지만 0 바이트를 읽습니다. " end 동안 데이터.분량 < 분량 청크 = read_from_socket(분량 - 데이터.분량, timeout: 타임아웃) 하지 않는 한 (청크.분량 > 0 || 분량 == 0) 올리다 IOError, "> 0 바이트를 읽을 것으로 예상되지만 0 바이트를 읽습니다. " end 데이터 << 청크 end 데이터 end end |
#readbyte ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓에서 단일 바이트를 읽습니다.
227 228 229 230 231 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 227 def readbyte map_Exceptions do @socket.readbyte end end |
#요약 ⇒ string
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
디버깅을 위해 사람이 읽을 수 있는 소켓 요약을 반환합니다.
112 113 114 115 116 117 118 119 120 121 122 123 124 |
# 파일 'build/ruby-driver-v2.19/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) ⇒ 정수
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
소켓 인스턴스 에 데이터를 씁니다.
242 243 244 245 246 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/socket.rb', 줄 242 def 쓰기(*args) map_Exceptions do do_write(*args) end end |