1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.io;
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 IoHandler}s.
27 * <p>
28 * Please refer to
29 * <a href="../../../../../xref-examples/org/apache/mina/examples/echoserver/Main.html">EchoServer</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 IoHandler}.
35 * <p>
36 * Threads accept incoming connections start automatically when
37 * {@link #bind(SocketAddress, IoHandler)} is invoked, and stop when all
38 * addresses are unbound.
39 *
40 * @author Trustin Lee (trustin@apache.org)
41 * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $
42 */
43 public interface IoAcceptor extends IoSessionManager
44 {
45 /***
46 * Binds to the specified <code>address</code> and handles incoming
47 * connections with the specified <code>handler</code>.
48 *
49 * @throws IOException if failed to bind
50 */
51 void bind( SocketAddress address, IoHandler handler ) throws IOException;
52
53 /***
54 * Unbinds from the specified <code>address</code>.
55 */
56 void unbind( SocketAddress address );
57 }