reactor-netty コードリーディング(1)
HttpClient#create(String,int): アドレスとポートをConsumer<HttpClientOptions.Builder>にラップして(options.host(address).port(port))HttpClient.Builder#options(Consumer<HttpClientOptions.Builder>)で設定してHttpClientを生成するHttpClientOptions.BuilderはClientOptions.Builder<B extends ClientOptions.Builder<B>>を継承したクラスHttpClientOptions.Builderに追加されているオプションはacceptGzipClientOptions.Builder<B extends ClientOptions.Builder<B>>はNettyOptionsBuilder<Bootstrap, ClientOptions, B>を継承したクラスClientOptions.Builderにて設定可能なオプションは pool の使用有無(デフォルトは使う)/インターネットプロトコルファミリー(inet4/inet6)/ホスト/ポート/proxyのオプションClientOptions.BuilderにてBootstrapのデフォルトオプションを設定している. 設定値は下記の表を参照.ClientProxyOptionはproxy の設定(username/password/アドレス/proxyを通さないホストアドレス/proxyのタイプ)を持つ- proxy のタイプによって異なる
ProxyHandlerを生成する(ProxyHandlerはChannelDuplexHandlerのサブタイプ)
ClientOptions.Builder にて設定しているデフォルト Bootstrap のオプション
| オプション | 値 |
|---|---|
ChannelOption.CONNECT_TIMEOUT_MILLIS |
30000 |
ChannelOption.AUTO_READ |
false |
ChannelOption.SO_RCVBUF |
1024 * 1024 |
ChannelOption.SO_SNDBUF |
1024 * 1024 |