Class TCPServerConnector
java.lang.Object
org.nustaq.kontraktor.remoting.tcp.TCPServerConnector
- All Implemented Interfaces:
ActorServerConnector
public class TCPServerConnector extends java.lang.Object implements ActorServerConnector
Created by ruedi on 10/05/15.
Publishes an actor as a server via blocking TCP. Requires one thread for each client connecting.
-
Field Summary
Fields Modifier and Type Field Description protected java.net.ServerSocketacceptSocketprotected java.util.concurrent.ConcurrentLinkedQueue<java.net.Socket>clientSocketsstatic intDELAY_MS_TILL_CLOSEstatic java.util.concurrent.atomic.AtomicIntegernumberOfThreads -
Constructor Summary
Constructors Constructor Description TCPServerConnector(int port) -
Method Summary
Modifier and Type Method Description protected PromiseacceptLoop(Actor facade, int port, java.util.function.Function<ObjectSocket,ObjectSink> factory, Promise p)IPromisecloseServer()voidconnect(Actor facade, java.util.function.Function<ObjectSocket,ObjectSink> factory)static Promise<ActorServer>Publish(Actor facade, int port, Coding coding)static Promise<ActorServer>Publish(Actor facade, int port, Coding coding, java.util.function.Consumer<Actor> disconnectCB)
-
Field Details
-
DELAY_MS_TILL_CLOSE
public static int DELAY_MS_TILL_CLOSE -
numberOfThreads
public static java.util.concurrent.atomic.AtomicInteger numberOfThreads -
acceptSocket
protected java.net.ServerSocket acceptSocket -
clientSockets
protected java.util.concurrent.ConcurrentLinkedQueue<java.net.Socket> clientSockets
-
-
Constructor Details
-
TCPServerConnector
public TCPServerConnector(int port)
-
-
Method Details
-
Publish
-
Publish
public static Promise<ActorServer> Publish(Actor facade, int port, Coding coding, java.util.function.Consumer<Actor> disconnectCB) -
connect
public void connect(Actor facade, java.util.function.Function<ObjectSocket,ObjectSink> factory) throws java.lang.Exception- Specified by:
connectin interfaceActorServerConnector- Throws:
java.lang.Exception
-
acceptLoop
protected Promise acceptLoop(Actor facade, int port, java.util.function.Function<ObjectSocket,ObjectSink> factory, Promise p) -
closeServer
- Specified by:
closeServerin interfaceActorServerConnector
-