1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.protocol;
20
21 import java.io.IOException;
22 import java.net.SocketAddress;
23
24 /***
25 * Accepts incoming connection, communicates with clients, and fires events to
26 * {@link ProtocolHandler}s.
27 * <p>
28 * Please refer to
29 * <a href="../../../../../xref-examples/org/apache/mina/examples/reverser/Main.html">Reverser</a>
30 * example.
31 * <p>
32 * You should bind to the desired socket address to accept incoming
33 * connections, and then events for incoming connections will be sent to
34 * the specified default {@link ProtocolHandler}.
35 * <p>
36 * Threads accept incoming connections start automatically when
37 * {@link #bind(SocketAddress, ProtocolProvider)} is invoked, and stop when all
38 * addresses are unbound.
39 *
40 * @author Trustin Lee (trustin@apache.org)
41 * @version $Rev: 165586 $, $Date: 2005-05-02 15:27:27 +0900 $
42 */
43 public interface ProtocolAcceptor extends ProtocolSessionManager
44 {
45 /***
46 * Binds to the specified <code>address</code> and handles incoming
47 * connections with the specified <code>protocolProvider</code>.
48 *
49 * @throws IOException if failed to bind
50 */
51 void bind( SocketAddress address, ProtocolProvider protocolProvider )
52 throws IOException;
53
54 /***
55 * Unbinds from the specified <code>address</code>.
56 */
57 void unbind( SocketAddress address );
58 }