package io.vivarium.net;
import java.net.InetSocketAddress;
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
public class ServerWebSocketManager extends WebSocketServer
{
private final InboundNetworkListener _inboundListener;
public ServerWebSocketManager(InetSocketAddress address, InboundNetworkListener inboundListener)
{
super(address);
this._inboundListener = inboundListener;
}
@Override
public void onOpen(WebSocket webSocket, ClientHandshake handshake)
{
_inboundListener.onOpen(new ServerWebSocket(webSocket), handshake);
}
@Override
public void onClose(WebSocket webSocket, int code, String reason, boolean remote)
{
_inboundListener.onClose(new ServerWebSocket(webSocket), code, reason, remote);
}
@Override
public void onMessage(WebSocket webSocket, String message)
{
_inboundListener.onMessage(new ServerWebSocket(webSocket), message);
}
@Override
public void onError(WebSocket webSocket, Exception ex)
{
_inboundListener.onError(new ServerWebSocket(webSocket), ex);
}
}