org.jsl.collider.Acceptor Maven / Gradle / Ivy
/*
* Copyright (C) 2013 Sergey Zubarev, [email protected]
*
* This file is a part of JS-Collider framework.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package org.jsl.collider;
import java.net.InetSocketAddress;
public abstract class Acceptor extends SessionEmitter
{
public Acceptor()
{
this( new InetSocketAddress(0) );
}
public Acceptor( InetSocketAddress addr )
{
super( addr );
}
/**
* Creates Session.Listener instance to be linked with the session.
* Called by framework, derived class supposed to override it.
* METHOD IS NOT [MT] SAFE, can be called concurrently in a number of threads.
* Connection will be closed if returns null, but any data
* scheduled with sendData call before return will be sent.
*/
public abstract Session.Listener createSessionListener( Session session );
/**
* Called by framework right before the acceptor is ready to accept connections.
* It is still safe to remove the Acceptor instance from the collider
* within this method, no one connection will be accepted then.
*/
public void onAcceptorStarted( Collider collider, int localPort )
{
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy