All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.littleshoot.mina.common.IoAcceptor Maven / Gradle / Ivy

The newest version!
/*
 *  Licensed to the Apache Software Foundation (ASF) under one
 *  or more contributor license agreements.  See the NOTICE file
 *  distributed with this work for additional information
 *  regarding copyright ownership.  The ASF licenses this file
 *  to you under the Apache License, Version 2.0 (the
 *  "License"); you may not use this file except in compliance
 *  with the License.  You may obtain a copy of the License at
 *  
 *    http://www.apache.org/licenses/LICENSE-2.0
 *  
 *  Unless required by applicable law or agreed to in writing,
 *  software distributed under the License is distributed on an
 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *  KIND, either express or implied.  See the License for the
 *  specific language governing permissions and limitations
 *  under the License. 
 *  
 */
package org.littleshoot.mina.common;

import java.io.IOException;
import java.net.SocketAddress;

/**
 * Accepts incoming connection, communicates with clients, and fires events to
 * {@link IoHandler}s.
 * 

* Please refer to * EchoServer * example. *

* You should bind to the desired socket address to accept incoming * connections, and then events for incoming connections will be sent to * the specified default {@link IoHandler}. *

* Threads accept incoming connections start automatically when * {@link #bind(SocketAddress, IoHandler)} is invoked, and stop when all * addresses are unbound. * * @author The Apache Directory Project ([email protected]) * @version $Rev: 555855 $, $Date: 2007-07-13 12:19:00 +0900 (Fri, 13 Jul 2007) $ */ public interface IoAcceptor extends IoService { /** * Binds to the specified address and handles incoming * connections with the specified handler. * * @throws IOException if failed to bind */ void bind(SocketAddress address, IoHandler handler) throws IOException; /** * Binds to the specified address and handles incoming * connections with the specified handler. * * @param config the configuration * @throws IOException if failed to bind */ void bind(SocketAddress address, IoHandler handler, IoServiceConfig config) throws IOException; /** * Unbinds from the specified address and disconnects all clients * connected there. */ void unbind(SocketAddress address); /** * Unbinds all addresses which were bound by this acceptor. */ void unbindAll(); /** * (Optional) Returns an {@link IoSession} that is bound to the specified * localAddress and remoteAddress which reuses * the localAddress that is already bound by {@link IoAcceptor} * via {@link #bind(SocketAddress, IoHandler)}. *

* This operation is optional. Please throw {@link UnsupportedOperationException} * if the transport type doesn't support this operation. This operation is * usually implemented for connectionless transport types. * * @throws UnsupportedOperationException if this operation is not supported * @throws IllegalArgumentException if the specified localAddress is * not bound yet. (see {@link #bind(SocketAddress, IoHandler)}) */ IoSession newSession(SocketAddress remoteAddress, SocketAddress localAddress); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy