クラス: Mongo::Socket Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
Socket::Constances
定義:
build/ruby-Driver-v 2.19 /lib/mongo/socket.rb
build/ruby-Driver-v 2.19 /lib/mongo/socket/ssl.rb,
build/ruby-Driver-v 2.19 /lib/mongo/socket/tcp.rb,
build/ruby-Driver-v 2.19 /lib/mongo/socket/unix.rb,
build/ruby-Driver-v 2 . 19 /lib/mongo/socket/OCSP_cache.rb、
build/ruby-Driver-v 2 . 19 /lib/mongo/socket/OCSP_verifier.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドライバーの使用のためにソケットに関する追加データを提供します。

以来

  • 2.0.0

既知のサブクラスを直接確認

SSL, TCP, Unix

名前空間で定義済み

Modules: OcspCache クラス: OcspVerifier, SSL, TCP, Unix

定数の概要の削減

SSL_ERROR =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

非推奨。

TLS 関連の例外のエラー メッセージ。

以来

  • 2.0.0

 MongoDB は TLS サポートで構成されていない.freeze
OUTTIME_ERROR =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

非推奨。

ソケット呼び出しのタイムアウトに関するエラー メッセージ。

以来

  • 2.0.0

'ソケット リクエストがタイムアウトしました'.freeze
OUTTIME_PACK =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

タイムアウト用のパッケージ ディレクティブ。

以来

  • 2.0.0

'l_2'.freeze
WRITE_CHARK_SIZE =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

このサイズのチャンクでソケットにデータを書込みます。

以来

  • 2.0.0

65536

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化(タイムアウト、オプション) =ソケット

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

一般的なソケット属性を初期化します。

パラメーター:

  • タイムアウト 浮動小数

    ソケット タイムアウト値。

  • options ハッシュ

    オプション。

オプション ハッシュ( options ):

  • :connect_timeout 浮動小数

    接続タイムアウト。

  • : connection_address アドレス

    このソケットを作成した接続のアドレス。

  • : connection_生成 整数

    このソケットを作成した接続の生成(非モニタリング接続の場合)。

  • :mongos true | false

    このソケットはモニタリング接続によって作成されたかどうか。

以来

  • 2.0.0



69
70
71
72
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行69

デフォルト 初期化(タイムアウト, options)
  @timeout = タイムアウト
  @options = options
end

インスタンス属性の詳細

#ファミリー整数(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ホスト ファミリーのタイプを返します。

次の値を返します。

  • (整数)

    ホストファミリーのタイプ。

以来

  • 2.0.0



75
76
77
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行75

デフォルト ファミリー
  @ファミリー
end

オプション=ハッシュ(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

オプションを返します。

次の値を返します。

  • ハッシュ

    オプション。

以来

  • 2.0.0



81
82
83
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行81

デフォルト options
  @options
end

#storage:ソケット=ソケット(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ラップされたソケットを返します。

次の値を返します。

  • ソケット

    socket をラップしたソケット。

以来

  • 2.0.0



78
79
80
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行78

デフォルト ソケット
  @socket
end

#タイムアウト=浮動小数点(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

timeout ソケット タイムアウトを返します。

次の値を返します。

  • 浮動小数

    timeout ソケット タイムアウト。

以来

  • 2.0.0



84
85
86
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行84

デフォルト タイムアウト
  @timeout
end

インスタンス メソッドの詳細

#ライブ= truefalse

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

非推奨。

#connectable を使用するかどうか ください。

ソケット接続は有効かどうか。

例:

ソケットは有効かどうか。

socket.alive?

次の値を返します。

  • truefalse

    ソケットがアクティブな場合。

以来

  • 2.0.0



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行134

デフォルト alive?
  socket_arr = [ @socket ]
  場合 Kernel::選択する(socket_arr, nil, socket_arr, 0)
    番号 の合計は?呼び出しは を選択したためすぐに返されるはずです
    # はソケットが読み取り可能であることを示します。 ただし、@socket が TLS の場合
    # ソケット、E、またはは任意のブロックが可能です - Ruby- 2140を参照してください。
    begin
      タイムアウト.タイムアウト(0.1) 行う
        
      end
    ヘルプ ::タイムアウト::エラー
      true
    end
  else
    true
  end
end

#閉じる= true

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ソケットを閉じます。

例:

ソケットを閉じます。

socket.close

次の値を返します。

  • ( true )

    常に true

以来

  • 2.0.0



160
161
162
163
164
165
166
167
168
169
170
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行160

デフォルト 閉じる
  begin
    # 場合によっては、Close 呼び出しが長時間ハングしているように見えます
    ::タイムアウト.タイムアウト(5) 行う
      @socket.閉じる
    end
  ヘルプ
    # すべてのエラーを無視
  end
  true
end

#接続可能かどうか = true

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

非推奨。

下位互換性のみ、 は使用しないでください。

次の値を返します。

  • ( true )

    常に true

以来

  • 2.0.0



262
263
264
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行262

デフォルト 接続可能かどうか
  true
end

# connection_addressアドレス

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このソケットを作成した接続のアドレスを返します。

次の値を返します。

  • アドレス

    このソケットを作成した接続のアドレス。

以来

  • 2.0.0



89
90
91
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行89

デフォルト connection_address
  options[: connection_address]
end

# connection_generation =整数

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このソケットを作成した接続の生成(非モニタリング接続の場合)を返します。

次の値を返します。

  • (整数)

    このソケットを作成した接続の生成(非モニタリング接続の場合)。

以来

  • 2.0.0



97
98
99
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行97

デフォルト connection_生成
  options[: connection_生成]
end

#eof?Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このソケットが EOF に達しているかどうかをテストします。 主にライブ確認に使用されます。

次の値を返します。

  • ブール値

以来

  • 2.0.5



251
252
253
254
255
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行251

デフォルト 
  @socket.
ヘルプ IOError, SystemCallError
  true
end

(*args) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

取得を基礎となるソケットに委任します。

例:

次の行を取得します。

socket.gets(10)

パラメーター:

  • args 配列<Object>

    渡す引数。

次の値を返します。

  • オブジェクト

    返されたバイト。

以来

  • 2.0.0



182
183
184
185
186
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行182

デフォルト 取得(*args)
  map_例外 行う
    @socket.取得(*args)
  end
end

#モニター? = true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このソケットはモニタリング接続によって作成されたかどうかを返します。

次の値を返します。

  • true | false

    このソケットはモニタリング接続によって作成されたかどうか。

以来

  • 2.0.0



105
106
107
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行105

デフォルト 監視しますか?
  !!options[:mongos]
end

# read (Length、timeout: nil) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

指定されたバイト数のソケットからすべてのデータを読み取ります。 データが返されない場合は、例外が発生します。

例:

ソケットから要求されたすべてのデータを読み取ります。

socket.read(4096)

パラメーター:

  • Length (整数)

    読み込むバイト数。

  • タイムアウト 数値 (デフォルトはnil

    読み取りされる各チャンクに使用するタイムアウト。

次の値を返します。

  • オブジェクト

    ソケットからのデータ。

次の値が発生します。

  • Mongo::SocketError

    すべてのデータが返されない場合。

以来

  • 2.0.0



202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行202

デフォルト 読み取り(Length, timeout: nil)
  map_例外 行う
    データ = read_from_socket(Length, timeout: タイムアウト)
    ただし、 (データ.Length > 0 || Length == 0)
      発生 IOError,  0バイト以上の読み取りが予想されますが、 0バイトは読み取ります
    end
    一方 データ.Length < Length
      チャンク = read_from_socket(Length - データ.Length, timeout: タイムアウト)
      ただし、 (チャンク.Length > 0 || Length == 0)
        発生 IOError,  0バイト以上の読み取りが予想されますが、 0バイトは読み取ります
      end
      データ < チャンク
    end
    データ
  end
end

#readbyte =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ソケットから 1 バイトを読み取ります。

例:

単一バイトを読み取ります。

socket.readbyte

次の値を返します。

  • オブジェクト

    読み取りバイト。

以来

  • 2.0.0



227
228
229
230
231
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行227

デフォルト 読み取りバイト
  map_例外 行う
    @socket.読み取りバイト
  end
end

#のサマリー= string

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

デバッグ用にソケットの人間が判読可能な概要を返します。

次の値を返します。

  • ( string )

    デバッグ用ソケットの人間が判読可能な概要。

以来

  • 2.0.0



112
113
114
115
116
117
118
119
120
121
122
123
124
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行112

デフォルト 概要
  fileno = @socket&.fileno ヘルプ '<no socket>' || '<no socket>'
  場合 監視しますか?
    インジケーター = 場合 options[:push]
      'pm'
    else
      'm'
    end
    " "
  else
    " "
  end
end

#write (*args) =整数

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ソケット インスタンスにデータを書込みます。

パラメーター:

  • args 配列<Object>

    書き込まれるデータ。

次の値を返します。

  • (整数)

    ソケットに書込まれたバイトの長さ。

次の値が発生します。

以来

  • 2.0.0



242
243
244
245
246
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket.rb', 行242

デフォルト 書込み (write)(*args)
  map_例外 行う
    do_write(*args)
  end
end