|
1 | 1 | (ns s-exp.mina.options
|
2 | 2 | (:import (io.helidon.common.socket SocketOptions$Builder)
|
3 |
| - (io.helidon.webserver ;; ListenerConfiguration$Builder |
4 |
| - ServerListener |
5 |
| - WebServerConfig$Builder) |
| 3 | + (io.helidon.common.tls TlsConfig) |
| 4 | + (io.helidon.webserver ListenerConfig$Builder |
| 5 | + WebServerConfig$Builder) |
6 | 6 | (java.time Duration)))
|
7 | 7 |
|
8 |
| -;; (ServerListener/config) |
9 |
| - |
10 | 8 | (set! *warn-on-reflection* true)
|
11 | 9 | (defmulti set-server-option! (fn [_builder k _v _options] k))
|
12 | 10 |
|
|
16 | 14 | (defmethod set-server-option! :host
|
17 | 15 | [^WebServerConfig$Builder builder _ host _]
|
18 | 16 | (.host builder host))
|
19 |
| -;; io.helidon.webserver.WebServerConfig$BuilderBaseio.helidon.webserver.WebServerConfig$BuilderBase |
| 17 | + |
20 | 18 | (defmethod set-server-option! :port
|
21 | 19 | [^WebServerConfig$Builder builder _ port _]
|
22 | 20 | (.port builder (int port)))
|
23 | 21 |
|
24 |
| -#_(defn- set-connection-options! |
25 |
| - [^SocketOptions$Builder socket-options-builder |
26 |
| - {:keys [socket-receive-buffer-size socket-send-buffer-size |
27 |
| - socket-reuse-address socket-keep-alive tcp-no-delay |
28 |
| - read-timeout connect-timeout]}] |
29 |
| - (when socket-receive-buffer-size |
30 |
| - (.socketReceiveBufferSize socket-options-builder |
31 |
| - (int socket-receive-buffer-size))) |
32 |
| - |
33 |
| - (when socket-send-buffer-size |
34 |
| - (.socketSendBufferSize socket-options-builder |
35 |
| - (int socket-send-buffer-size))) |
36 |
| - |
37 |
| - (when socket-reuse-address |
38 |
| - (.socketReuseAddress socket-options-builder |
39 |
| - (boolean socket-reuse-address))) |
40 |
| - |
41 |
| - (when socket-keep-alive |
42 |
| - (.socketKeepAlive socket-options-builder |
43 |
| - (boolean socket-keep-alive))) |
44 |
| - (when tcp-no-delay |
45 |
| - (.tcpNoDelay socket-options-builder |
46 |
| - (boolean tcp-no-delay))) |
47 |
| - |
48 |
| - (when read-timeout |
49 |
| - (.readTimeout socket-options-builder |
50 |
| - (Duration/ofMillis read-timeout))) |
51 |
| - (when connect-timeout |
52 |
| - (.connectTimeout socket-options-builder |
53 |
| - (Duration/ofMillis connect-timeout)))) |
54 |
| - |
55 |
| -#_(defn- set-listener-configuration! |
56 |
| - [^ListenerConfiguration$Builder listener-configuration-builder |
57 |
| - {:keys [write-queue-length backlog max-payload-size receive-buffer-size |
58 |
| - connection-options]}] |
59 |
| - (when backlog |
60 |
| - (.backlog listener-configuration-builder |
61 |
| - (int backlog))) |
62 |
| - |
63 |
| - (when max-payload-size |
64 |
| - (.maxPayloadSize listener-configuration-builder |
65 |
| - (long max-payload-size))) |
66 |
| - |
67 |
| - (when write-queue-length |
68 |
| - (.writeQueueLength listener-configuration-builder |
69 |
| - (int write-queue-length))) |
70 |
| - |
71 |
| - (when receive-buffer-size |
72 |
| - (.receiveBufferSize listener-configuration-builder |
73 |
| - (int receive-buffer-size))) |
74 |
| - |
75 |
| - #_(when (seq connection-options) |
76 |
| - (.connectionOptions listener-configuration-builder |
77 |
| - (reify java.util.function.Consumer |
78 |
| - (accept [_ socket-options-builder] |
79 |
| - (set-connection-options! socket-options-builder |
80 |
| - connection-options)))))) |
81 |
| - |
82 |
| -#_(defmethod set-server-option! :default-socket |
83 |
| - [^WebServerConfig$Builder builder _ default-socket _] |
84 |
| - (doto builder |
85 |
| - (.defaultSocket |
86 |
| - (reify java.util.function.Consumer |
87 |
| - (accept [_ listener-configuration-builder] |
88 |
| - (set-listener-configuration! listener-configuration-builder |
89 |
| - default-socket)))))) |
| 22 | +(defmethod set-server-option! :backlog |
| 23 | + [^WebServerConfig$Builder builder _ backlog _] |
| 24 | + (.backlog builder (int backlog))) |
| 25 | + |
| 26 | +(defmethod set-server-option! :backlog |
| 27 | + [^WebServerConfig$Builder builder _ backlog _] |
| 28 | + (.backlog builder (int backlog))) |
| 29 | + |
| 30 | +(defmethod set-server-option! :max-payload-size |
| 31 | + [^WebServerConfig$Builder builder _ max-payload-size _] |
| 32 | + (.maxPayloadSize builder (long max-payload-size))) |
| 33 | + |
| 34 | +(defmethod set-server-option! :write-queue-length |
| 35 | + [^WebServerConfig$Builder builder _ write-queue-length _] |
| 36 | + (.writeQueueLength builder (long write-queue-length))) |
| 37 | + |
| 38 | +(defmethod set-server-option! :receive-buffer-size |
| 39 | + [^WebServerConfig$Builder builder _ receive-buffer-size _] |
| 40 | + (.receiveBufferSize builder (int receive-buffer-size))) |
| 41 | + |
| 42 | +(defn- set-connection-options! |
| 43 | + [^SocketOptions$Builder socket-options-builder |
| 44 | + {:keys [socket-receive-buffer-size socket-send-buffer-size |
| 45 | + socket-reuse-address socket-keep-alive tcp-no-delay |
| 46 | + read-timeout connect-timeout]}] |
| 47 | + (when socket-receive-buffer-size |
| 48 | + (.socketReceiveBufferSize socket-options-builder |
| 49 | + (int socket-receive-buffer-size))) |
| 50 | + |
| 51 | + (when socket-send-buffer-size |
| 52 | + (.socketSendBufferSize socket-options-builder |
| 53 | + (int socket-send-buffer-size))) |
| 54 | + |
| 55 | + (when socket-reuse-address |
| 56 | + (.socketReuseAddress socket-options-builder |
| 57 | + (boolean socket-reuse-address))) |
| 58 | + |
| 59 | + (when socket-keep-alive |
| 60 | + (.socketKeepAlive socket-options-builder |
| 61 | + (boolean socket-keep-alive))) |
| 62 | + (when tcp-no-delay |
| 63 | + (.tcpNoDelay socket-options-builder |
| 64 | + (boolean tcp-no-delay))) |
| 65 | + |
| 66 | + (when read-timeout |
| 67 | + (.readTimeout socket-options-builder |
| 68 | + (Duration/ofMillis read-timeout))) |
| 69 | + (when connect-timeout |
| 70 | + (.connectTimeout socket-options-builder |
| 71 | + (Duration/ofMillis connect-timeout)))) |
| 72 | + |
| 73 | +(defmethod set-server-option! :connection-options |
| 74 | + [^WebServerConfig$Builder builder _ connection-options _] |
| 75 | + (.connectionOptions builder |
| 76 | + (reify java.util.function.Consumer |
| 77 | + (accept [_ socket-options-builder] |
| 78 | + (set-connection-options! socket-options-builder |
| 79 | + connection-options))))) |
90 | 80 |
|
91 | 81 | (defmethod set-server-option! :tls
|
92 |
| - [^WebServerConfig$Builder builder _ tls _] |
93 |
| - (doto builder (.tls tls))) |
| 82 | + [^WebServerConfig$Builder builder _ ^TlsConfig tls-config _] |
| 83 | + (doto builder (.tls tls-config))) |
94 | 84 |
|
95 | 85 |
|
0 commit comments