Package pro.gravit.launchserver.socket
Class WebSocketService
- java.lang.Object
-
- pro.gravit.launchserver.socket.WebSocketService
-
public class WebSocketService extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWebSocketService.EventResultstatic classWebSocketService.WebSocketRequestContext
-
Field Summary
Fields Modifier and Type Field Description io.netty.channel.group.ChannelGroupchannelspro.gravit.utils.BiHookSet<WebSocketService.WebSocketRequestContext,io.netty.channel.ChannelHandlerContext>hookjava.util.concurrent.atomic.AtomicLonglastRequestTimejava.util.concurrent.atomic.AtomicLonglongRequestCounterjava.util.concurrent.atomic.AtomicLonglongRequestLatencyjava.util.concurrent.atomic.AtomicLongmiddleRequestCounterjava.util.concurrent.atomic.AtomicLongmiddleRequestLatencystatic pro.gravit.utils.ProviderMap<WebSocketServerResponse>providersjava.util.concurrent.atomic.AtomicLongshortRequestCounterjava.util.concurrent.atomic.AtomicLongshortRequestLatency
-
Constructor Summary
Constructors Constructor Description WebSocketService(io.netty.channel.group.ChannelGroup channels, LaunchServer server)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRequestTimeToStats(long nanos)voidforEachActiveChannels(java.util.function.BiConsumer<io.netty.channel.Channel,WebSocketFrameHandler> callback)io.netty.channel.ChannelgetChannelFromConnectUUID(java.util.UUID connectUuid)booleankickByConnectUUID(java.util.UUID connectUuid, boolean isClose)booleankickByIP(java.lang.String ip, boolean isClose)booleankickByUserUUID(java.util.UUID userUuid, boolean isClose)voidprocess(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.websocketx.TextWebSocketFrame frame, Client client, java.lang.String ip)voidregisterClient(io.netty.channel.Channel channel)static voidregisterResponses()voidsendEvent(WebSocketService.EventResult obj)voidsendObject(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj)voidsendObject(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj, java.lang.reflect.Type type)voidsendObject(io.netty.channel.Channel channel, java.lang.Object obj)voidsendObject(io.netty.channel.Channel channel, java.lang.Object obj, java.lang.reflect.Type type)voidsendObjectAll(java.lang.Object obj)voidsendObjectAll(java.lang.Object obj, java.lang.reflect.Type type)voidsendObjectAndClose(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj)voidsendObjectAndClose(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj, java.lang.reflect.Type type)voidsendObjectToUUID(java.util.UUID userUuid, java.lang.Object obj, java.lang.reflect.Type type)voidupdateDaoObject(java.util.UUID userUuid, User daoObject, java.util.function.Consumer<io.netty.channel.Channel> callback)
-
-
-
Field Detail
-
providers
public static final pro.gravit.utils.ProviderMap<WebSocketServerResponse> providers
-
channels
public final io.netty.channel.group.ChannelGroup channels
-
hook
public final pro.gravit.utils.BiHookSet<WebSocketService.WebSocketRequestContext,io.netty.channel.ChannelHandlerContext> hook
-
shortRequestLatency
public final java.util.concurrent.atomic.AtomicLong shortRequestLatency
-
shortRequestCounter
public final java.util.concurrent.atomic.AtomicLong shortRequestCounter
-
middleRequestLatency
public final java.util.concurrent.atomic.AtomicLong middleRequestLatency
-
middleRequestCounter
public final java.util.concurrent.atomic.AtomicLong middleRequestCounter
-
longRequestLatency
public final java.util.concurrent.atomic.AtomicLong longRequestLatency
-
longRequestCounter
public final java.util.concurrent.atomic.AtomicLong longRequestCounter
-
lastRequestTime
public final java.util.concurrent.atomic.AtomicLong lastRequestTime
-
-
Constructor Detail
-
WebSocketService
public WebSocketService(io.netty.channel.group.ChannelGroup channels, LaunchServer server)
-
-
Method Detail
-
forEachActiveChannels
public void forEachActiveChannels(java.util.function.BiConsumer<io.netty.channel.Channel,WebSocketFrameHandler> callback)
-
registerResponses
public static void registerResponses()
-
process
public void process(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.websocketx.TextWebSocketFrame frame, Client client, java.lang.String ip)
-
addRequestTimeToStats
public void addRequestTimeToStats(long nanos)
-
registerClient
public void registerClient(io.netty.channel.Channel channel)
-
sendObject
public void sendObject(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj)
-
sendObject
public void sendObject(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj, java.lang.reflect.Type type)
-
sendObject
public void sendObject(io.netty.channel.Channel channel, java.lang.Object obj)
-
sendObject
public void sendObject(io.netty.channel.Channel channel, java.lang.Object obj, java.lang.reflect.Type type)
-
sendObjectAll
public void sendObjectAll(java.lang.Object obj)
-
sendObjectAll
public void sendObjectAll(java.lang.Object obj, java.lang.reflect.Type type)
-
sendObjectToUUID
public void sendObjectToUUID(java.util.UUID userUuid, java.lang.Object obj, java.lang.reflect.Type type)
-
updateDaoObject
public void updateDaoObject(java.util.UUID userUuid, User daoObject, java.util.function.Consumer<io.netty.channel.Channel> callback)
-
getChannelFromConnectUUID
public io.netty.channel.Channel getChannelFromConnectUUID(java.util.UUID connectUuid)
-
kickByUserUUID
public boolean kickByUserUUID(java.util.UUID userUuid, boolean isClose)
-
kickByConnectUUID
public boolean kickByConnectUUID(java.util.UUID connectUuid, boolean isClose)
-
kickByIP
public boolean kickByIP(java.lang.String ip, boolean isClose)
-
sendObjectAndClose
public void sendObjectAndClose(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj)
-
sendObjectAndClose
public void sendObjectAndClose(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object obj, java.lang.reflect.Type type)
-
sendEvent
public void sendEvent(WebSocketService.EventResult obj)
-
-