클래스: Mongo::Address::IPv6

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb

개요

주소가 IP 주소인 경우 IPv6 지원으로 확인을 설정합니다.

이후:

  • 2.0.0

상수 요약 접기

MATCH =

IPv6 IP 주소를 일치시키는 데 사용할 정규 표현식입니다.

이후:

  • 2.0.0

정규 표현식.신규('::').동결

인스턴스 속성 요약 접기

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(host, port, host_name = nil) ⇒ IPv6

IPv6 해석기를 초기화합니다.

예시:

리졸버를 초기화합니다.

IPv6.new("::1", 28011, 'localhost')

매개변수:

  • 호스트 (string)

    호스트.

  • 포트 (정수)

    포트.

이후:

  • 2.0.0



86
87
88
89
90
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 86

def 초기화(호스트, 포트, host_name=nil)
  @host = 호스트
  @port = 포트
  @host_name = host_name
end

인스턴스 속성 세부 정보

#호스트string (읽기 전용)

반환 호스트 호스트입니다.

반환합니다:

  • (string)

    host 호스트입니다.

이후:

  • 2.0.0



28
29
30
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 28

def 호스트
  @host
end

#host_namestring (읽기 전용)

반환값 host_name 원래 호스트 이름입니다.

반환합니다:

  • (string)

    host_name 원래 호스트 이름입니다.

이후:

  • 2.0.0



31
32
33
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 31

def host_name
  @host_name
end

#포트정수 (읽기 전용)

반환 포트 포트입니다.

반환합니다:

  • (정수)

    포트 포트입니다.

이후:

  • 2.0.0



34
35
36
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 34

def 포트
  @port
end

클래스 메서드 세부 정보

.parse(address) ⇒ Array<string, Integer>

IPv6 주소를 해당 호스트 및 포트로 구문 분석합니다.

예시:

주소를 구문 분석합니다.

IPv6.parse("[::1]:28011")

매개변수:

  • 주소 (string)

    구문 분석할 주소입니다.

반환합니다:

  • (Array<string, Integer>)

    호스트 및 포트 쌍입니다.

이후:

  • 2.0.0



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 51

def self.parse(주소)
  # IPAddr의 구문 분석기는 포트가 아닌 IP 주소만 처리합니다.
  # 따라서 포트를 직접 처리하다 해야 합니다.
  만약 주소 =~ /[\[\]]/
    부품 = 주소.match(/\A\[(.+)\](?::(\d+))?\z/)
    만약 부품.nil?
      올리다 ArgumentError, "잘못된 IPv6 주소: #{주소}"
    end
    호스트 = 부품[1]
    포트 = (부품[2] || 27017).to_i
  other
    호스트 = 주소
    포트 = 27017
  end
  # 호스팅하다 유효성 검사 .
  # 이렇게 하면 IPAddr::InvalidAddressError가 발생합니다.
  # ArgumentError의 하위 클래스인 최신 루비에서
  # 호스트가 유효하지 않은 경우
  시작
    IPAddr.신규(호스트)
  구출 ArgumentError
    올리다 ArgumentError, "잘못된 IPv6 주소: #{주소}"
  end
  [ 호스트, 포트 ]
end

인스턴스 메서드 세부 정보

#socket(socket_timeout, options = {}) ⇒ Mongo::Socket::SSL, Mongo::Socket::TCP

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

옵션이 주어지면 제공된 주소 유형에 대한 소켓을 가져옵니다.

예시:

IPv6 소켓을 가져옵니다.

ipv4.socket(5, :ssl => true)

매개변수:

  • socket_timeout (Float)

    소켓 시간 초과입니다.

  • 옵션 (해시) (기본값: {})

    옵션.

옵션 해시(options):

  • :connect_timeout (Float)

    연결 시간이 초과되었습니다.

  • :ssl (true | false)

    TLS 사용 여부입니다.

  • :ssl_ca_cert (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_ca_cert_object (Array<OpenSSL::X509::Certificate>)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_ca_cert_string (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_cert (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_cert_object (OpenSSL::X509::Certificate)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_cert_string (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_key (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_key_object (OpenSSL::PKey)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_key_pass_phrase (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_key_string (string)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_verify (true, false)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_verify_certificate (true, false)

    해당 Client/Socket::SSL 옵션과 동일합니다.

  • :ssl_verify_hostname (true, false)

    해당 Client/Socket::SSL 옵션과 동일합니다.

반환합니다:

이후:

  • 2.0.0



133
134
135
136
137
138
139
# 파일 'build/ruby-driver-v2.19/lib/mongo/address/ipv6.rb', 줄 133

def 소켓(socket_timeout, 옵션 = {})
  만약 옵션[:ssl]
    소켓::ssl.신규(호스트, 포트, host_name, socket_timeout, 소켓::PF_INET6, 옵션)
  other
    소켓::TCP.신규(호스트, 포트, socket_timeout, 소켓::PF_INET6, 옵션)
  end
end