Package io.openems.common.websocket
Class AbstractWebsocketServer<T extends WsData>
java.lang.Object
io.openems.common.websocket.AbstractWebsocket<T>
io.openems.common.websocket.AbstractWebsocketServer<T>
- Direct Known Subclasses:
DummyWebsocketServer
,WebsocketServer
,WebsocketServer
,WebsocketServer
,WebsocketServer
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractWebsocketServer
(String name, int port, int poolSize, AbstractWebsocketServer.DebugMode debugMode, Consumer<ThreadPoolExecutor> debugCallback) Construct anAbstractWebsocketServer
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
broadcastMessage
(JsonrpcMessage message) Broadcasts a message to all connected WebSockets.protected void
Execute aRunnable
using the sharedExecutorService
.Collection<org.java_websocket.WebSocket>
protected OnInternalError
Callback for internal error.int
getPort()
Gets the port number that this server listens on.protected JsonrpcMessage
handleNonJsonrpcMessage
(org.java_websocket.WebSocket ws, String stringMessage, OpenemsError.OpenemsNamedException e) Handle Non-JSON-RPC messages.void
sendMessage
(org.java_websocket.WebSocket ws, JsonrpcMessage message) Sends a message to WebSocket.void
start()
Starts the websocket server.void
stop()
Stops the websocket server.Methods inherited from class io.openems.common.websocket.AbstractWebsocket
createWsData, getName, getOnClose, getOnError, getOnNotification, getOnOpen, getOnRequest, handleInternalErrorAsync, handleInternalErrorSync, logError, logInfo, logWarn
-
Constructor Details
-
AbstractWebsocketServer
protected AbstractWebsocketServer(String name, int port, int poolSize, AbstractWebsocketServer.DebugMode debugMode, Consumer<ThreadPoolExecutor> debugCallback) Construct anAbstractWebsocketServer
.- Parameters:
name
- to identify this serverport
- to listen onpoolSize
- number of threads dedicated to handle the tasksdebugMode
- activate a regular debug log about the state of the tasksdebugCallback
- additional callback on regular debug log
-
-
Method Details
-
getOnInternalError
Description copied from class:AbstractWebsocket
Callback for internal error.- Specified by:
getOnInternalError
in classAbstractWebsocket<T extends WsData>
- Returns:
- the
OnInternalError
callback
-
getConnections
-
sendMessage
Sends a message to WebSocket.- Parameters:
ws
- the WebSocketmessage
- the JSON-RPC Message
-
broadcastMessage
Broadcasts a message to all connected WebSockets.- Parameters:
message
- the JSON-RPC Message
-
getPort
public int getPort()Gets the port number that this server listens on.- Returns:
- The port number.
-
start
public void start()Starts the websocket server.- Overrides:
start
in classAbstractWebsocket<T extends WsData>
-
execute
Execute aRunnable
using the sharedExecutorService
.- Specified by:
execute
in classAbstractWebsocket<T extends WsData>
- Parameters:
command
- theRunnable
-
stop
public void stop()Stops the websocket server.- Overrides:
stop
in classAbstractWebsocket<T extends WsData>
-
handleNonJsonrpcMessage
protected JsonrpcMessage handleNonJsonrpcMessage(org.java_websocket.WebSocket ws, String stringMessage, OpenemsError.OpenemsNamedException e) throws OpenemsError.OpenemsNamedException Handle Non-JSON-RPC messages.- Parameters:
ws
- theWebSocket
stringMessage
- the messagee
- the parse error- Returns:
- message converted to
JsonrpcMessage
; or null - Throws:
OpenemsError.OpenemsNamedException
- if conversion is not possible
-