|
|||||||||||||||||||
Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
SocketAcceptorManager.java | - | - | - | - |
|
1 | /* | |
2 | * Copyright (C) The Spice Group. All rights reserved. | |
3 | * | |
4 | * This software is published under the terms of the Spice | |
5 | * Software License version 1.1, a copy of which has been included | |
6 | * with this distribution in the LICENSE.txt file. | |
7 | */ | |
8 | package org.codehaus.spice.netserve.connection; | |
9 | ||
10 | import java.net.ServerSocket; | |
11 | import org.codehaus.spice.netserve.connection.RequestHandler; | |
12 | ||
13 | /** | |
14 | * This service is used to manage network acceptors. | |
15 | * The service takes a ServerSocket and RequestHandler and | |
16 | * anytime a new connection is accepted the handler is called | |
17 | * with the new socket connection. | |
18 | * | |
19 | * @author Peter Donald | |
20 | * @version $Revision: 1.2 $ $Date: 2004/03/21 23:43:00 $ | |
21 | */ | |
22 | public interface SocketAcceptorManager | |
23 | { | |
24 | /** | |
25 | * Start accepting connections from a socket and passing connections | |
26 | * to specified handler. | |
27 | * | |
28 | * @param name the name of connection. This serves as a key used to | |
29 | * shutdown acceptor. | |
30 | * @param socket the ServerSocket from which connections are accepted | |
31 | * @throws java.lang.Exception if unable to initiate connection management. This could | |
32 | * be due to the key already being used for another acceptor, | |
33 | * the serversocket being closed, the handler being null etc. | |
34 | */ | |
35 | void connect( String name, | |
36 | ServerSocket socket, | |
37 | RequestHandler handler ) | |
38 | throws Exception; | |
39 | ||
40 | /** | |
41 | * This shuts down the named acceptor. | |
42 | * NOTE: It is the responsibility of the caller to make | |
43 | * sure that the ServerSocket has been closed. | |
44 | * | |
45 | * @param name the name of connection | |
46 | * @throws java.lang.IllegalArgumentException if no connection with specified name | |
47 | */ | |
48 | void disconnect( String name ); | |
49 | ||
50 | /** | |
51 | * Return true if acceptor with specified name exists. | |
52 | * | |
53 | * @param name the name | |
54 | * @return true if acceptor with specified name exists. | |
55 | */ | |
56 | boolean isConnected( String name ); | |
57 | } |
|