75 private RdmaSockets() {} |
75 private RdmaSockets() {} |
76 |
76 |
77 /** |
77 /** |
78 * Creates an unbound and unconnected RDMA socket. |
78 * Creates an unbound and unconnected RDMA socket. |
79 * |
79 * |
80 * <p> An RDMA socket supports the same socket options that {@link |
80 * <p> An RDMA socket supports the socket options |
81 * java.net.Socket java.net.Socket} defines. In addition, it supports the |
81 * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF}, |
82 * socket options specified by {@link RdmaSocketOptions}. |
82 * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR}, |
|
83 * {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF}, and |
|
84 * {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} |
|
85 * defined by {@link java.net.Socket java.net.Socket}. In addition, |
|
86 * it supports the socket options specified by {@link RdmaSocketOptions}. |
83 * |
87 * |
84 * <p> When binding the socket to a local address, or invoking {@code |
88 * <p> When binding the socket to a local address, or invoking {@code |
85 * connect} to connect the socket, the socket address specified to those |
89 * connect} to connect the socket, the socket address specified to those |
86 * methods must correspond to the protocol family specified here. |
90 * methods must correspond to the protocol family specified here. |
87 * |
91 * |
105 } |
109 } |
106 |
110 |
107 /** |
111 /** |
108 * Creates an unbound RDMA server socket. |
112 * Creates an unbound RDMA server socket. |
109 * |
113 * |
110 * <p> An RDMA socket supports the same socket options that {@link |
114 * <p> An RDMA server socket supports the socket options |
111 * java.net.ServerSocket java.net.ServerSocket} defines. |
115 * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} and |
|
116 * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} |
|
117 * defined by {@link java.net.ServerSocket java.net.ServerSocket}. |
|
118 * In addition, it supports the socket options specified by |
|
119 * {@link RdmaSocketOptions}. |
112 * |
120 * |
113 * <p> When binding the socket to an address, the socket address specified |
121 * <p> When binding the socket to an address, the socket address specified |
114 * to the {@code bind} method must correspond to the protocol family |
122 * to the {@code bind} method must correspond to the protocol family |
115 * specified here. |
123 * specified here. |
116 * |
124 * |
138 * Opens a socket channel to an RDMA socket. A newly created socket channel |
146 * Opens a socket channel to an RDMA socket. A newly created socket channel |
139 * is {@link SocketChannel#isOpen() open}, not yet bound to a {@link |
147 * is {@link SocketChannel#isOpen() open}, not yet bound to a {@link |
140 * SocketChannel#getLocalAddress() local address}, and not yet |
148 * SocketChannel#getLocalAddress() local address}, and not yet |
141 * {@link SocketChannel#isConnected() connected}. |
149 * {@link SocketChannel#isConnected() connected}. |
142 * |
150 * |
143 * <p> A socket channel to an RDMA socket supports all of the socket options |
151 * <p> A socket channel to an RDMA socket supports the socket options |
144 * specified by {@link SocketChannel java.nio.channels.SocketChannel}. In |
152 * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF}, |
145 * addition, it supports the socket options specified by |
153 * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR}, |
146 * {@link RdmaSocketOptions}. |
154 * {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF}, and |
|
155 * {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} |
|
156 * defined by {@link java.net.Socket java.net.Socket}. In addition, |
|
157 * it supports the socket options specified by {@link RdmaSocketOptions}. |
147 * |
158 * |
148 * <p> When binding the channel's socket to a local address, or invoking |
159 * <p> When binding the channel's socket to a local address, or invoking |
149 * {@code connect} to connect channel's socket, the socket address specified |
160 * {@code connect} to connect channel's socket, the socket address specified |
150 * to those methods must correspond to the protocol family specified here. |
161 * to those methods must correspond to the protocol family specified here. |
151 * |
162 * |
172 /** |
183 /** |
173 * Opens a server socket channel to an RDMA socket. A newly created socket |
184 * Opens a server socket channel to an RDMA socket. A newly created socket |
174 * channel is {@link SocketChannel#isOpen() open} but not yet bound to a |
185 * channel is {@link SocketChannel#isOpen() open} but not yet bound to a |
175 * {@link SocketChannel#getLocalAddress() local address}. |
186 * {@link SocketChannel#getLocalAddress() local address}. |
176 * |
187 * |
|
188 * <p> A server socket channel to an RDMA server socket supports the |
|
189 * socket options |
|
190 * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} and |
|
191 * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} |
|
192 * defined by {@link java.net.ServerSocket java.net.ServerSocket}. |
|
193 * In addition, it supports the socket options specified by |
|
194 * {@link RdmaSocketOptions}. |
|
195 * |
177 * <p> When binding the channel's socket to an address, the socket address |
196 * <p> When binding the channel's socket to an address, the socket address |
178 * specified to the {@code bind} method must correspond to the protocol |
197 * specified to the {@code bind} method must correspond to the protocol |
179 * family specified here. |
198 * family specified here. |
180 * |
199 * |
181 * @param family |
200 * @param family |