Class NettyWebSocketSession

java.lang.Object
io.micronaut.http.netty.websocket.NettyWebSocketSession
All Implemented Interfaces:
io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.core.convert.value.ConvertibleValues<Object>, io.micronaut.core.convert.value.MutableConvertibleValues<Object>, io.micronaut.core.value.ValueResolver<CharSequence>, io.micronaut.websocket.WebSocketSession, AutoCloseable, Iterable<Map.Entry<String,Object>>

@Internal public class NettyWebSocketSession extends Object implements io.micronaut.websocket.WebSocketSession
Implementation of the WebSocketSession interface for Netty.
Since:
1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final io.netty.util.AttributeKey<NettyWebSocketSession>
    The WebSocket session is stored within a Channel attribute using the given key.

    Fields inherited from interface io.micronaut.core.convert.value.ConvertibleValues

    EMPTY
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    NettyWebSocketSession(String id, io.netty.channel.Channel channel, io.micronaut.http.HttpRequest<?> request, io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry handlerRegistry, String protocolVersion, boolean isSecure)
    Creates a new netty web socket session.
  • Method Summary

    Modifier and Type
    Method
    Description
    io.micronaut.core.convert.value.MutableConvertibleValues<Object>
     
    void
     
    void
    close(io.micronaut.websocket.CloseReason closeReason)
     
    <T> Optional<T>
    get(CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)
     
    io.micronaut.core.convert.value.MutableConvertibleValues<Object>
     
     
    Set<? extends io.micronaut.websocket.WebSocketSession>
     
     
    io.micronaut.core.convert.value.ConvertibleMultiValues<String>
     
     
    boolean
     
    boolean
     
    boolean
     
     
    io.micronaut.core.convert.value.MutableConvertibleValues<Object>
    put(CharSequence key, @Nullable Object value)
     
    io.micronaut.core.convert.value.MutableConvertibleValues<Object>
     
    <T> reactor.core.publisher.Flux<T>
    send(T message, io.micronaut.http.MediaType mediaType)
     
    sendAsync(T message, io.micronaut.http.MediaType mediaType)
     
    @NonNull CompletableFuture<?>
    sendPingAsync(@io.micronaut.core.annotation.NonNull byte[] content)
     
    void
    sendSync(Object message, io.micronaut.http.MediaType mediaType)
     
     
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.micronaut.core.convert.value.ConvertibleValues

    asMap, asMap, asProperties, contains, forEach, getConversionService, getValue, getValueType, isEmpty, iterator, subMap, subMap, subMap

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator

    Methods inherited from interface io.micronaut.core.convert.value.MutableConvertibleValues

    putAll, putAll

    Methods inherited from interface io.micronaut.core.value.ValueResolver

    get, get, get

    Methods inherited from interface io.micronaut.websocket.WebSocketSession

    getSubprotocol, getUriVariables, getUserPrincipal, send, sendAsync, sendSync
  • Field Details

    • WEB_SOCKET_SESSION_KEY

      public static final io.netty.util.AttributeKey<NettyWebSocketSession> WEB_SOCKET_SESSION_KEY
      The WebSocket session is stored within a Channel attribute using the given key.
  • Constructor Details

    • NettyWebSocketSession

      protected NettyWebSocketSession(String id, io.netty.channel.Channel channel, io.micronaut.http.HttpRequest<?> request, io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry handlerRegistry, String protocolVersion, boolean isSecure)
      Creates a new netty web socket session.
      Parameters:
      id - The ID
      channel - The channel
      request - The original request used to create the session
      codecRegistry - The codec registry
      handlerRegistry - The handlers registry
      protocolVersion - The protocol version
      isSecure - Whether the session is secure
  • Method Details

    • getId

      public String getId()
      Specified by:
      getId in interface io.micronaut.websocket.WebSocketSession
    • getAttributes

      public io.micronaut.core.convert.value.MutableConvertibleValues<Object> getAttributes()
      Specified by:
      getAttributes in interface io.micronaut.websocket.WebSocketSession
    • isOpen

      public boolean isOpen()
      Specified by:
      isOpen in interface io.micronaut.websocket.WebSocketSession
    • isWritable

      public boolean isWritable()
      Specified by:
      isWritable in interface io.micronaut.websocket.WebSocketSession
    • isSecure

      public boolean isSecure()
      Specified by:
      isSecure in interface io.micronaut.websocket.WebSocketSession
    • getOpenSessions

      public Set<? extends io.micronaut.websocket.WebSocketSession> getOpenSessions()
      Specified by:
      getOpenSessions in interface io.micronaut.websocket.WebSocketSession
    • getRequestURI

      public URI getRequestURI()
      Specified by:
      getRequestURI in interface io.micronaut.websocket.WebSocketSession
    • getRequestParameters

      public io.micronaut.core.convert.value.ConvertibleMultiValues<String> getRequestParameters()
      Specified by:
      getRequestParameters in interface io.micronaut.websocket.WebSocketSession
    • getProtocolVersion

      public String getProtocolVersion()
      Specified by:
      getProtocolVersion in interface io.micronaut.websocket.WebSocketSession
    • sendAsync

      public <T> CompletableFuture<T> sendAsync(T message, io.micronaut.http.MediaType mediaType)
      Specified by:
      sendAsync in interface io.micronaut.websocket.WebSocketSession
    • sendSync

      public void sendSync(Object message, io.micronaut.http.MediaType mediaType)
      Specified by:
      sendSync in interface io.micronaut.websocket.WebSocketSession
    • send

      public <T> reactor.core.publisher.Flux<T> send(T message, io.micronaut.http.MediaType mediaType)
      Specified by:
      send in interface io.micronaut.websocket.WebSocketSession
    • sendPingAsync

      @NonNull public @NonNull CompletableFuture<?> sendPingAsync(@NonNull @io.micronaut.core.annotation.NonNull byte[] content)
      Specified by:
      sendPingAsync in interface io.micronaut.websocket.WebSocketSession
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface io.micronaut.websocket.WebSocketSession
    • close

      public void close(io.micronaut.websocket.CloseReason closeReason)
      Specified by:
      close in interface io.micronaut.websocket.WebSocketSession
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • put

      public io.micronaut.core.convert.value.MutableConvertibleValues<Object> put(CharSequence key, @Nullable @Nullable Object value)
      Specified by:
      put in interface io.micronaut.core.convert.value.MutableConvertibleValues<Object>
    • remove

      public io.micronaut.core.convert.value.MutableConvertibleValues<Object> remove(CharSequence key)
      Specified by:
      remove in interface io.micronaut.core.convert.value.MutableConvertibleValues<Object>
    • clear

      public io.micronaut.core.convert.value.MutableConvertibleValues<Object> clear()
      Specified by:
      clear in interface io.micronaut.core.convert.value.MutableConvertibleValues<Object>
    • names

      public Set<String> names()
      Specified by:
      names in interface io.micronaut.core.convert.value.ConvertibleValues<Object>
    • values

      public Collection<Object> values()
      Specified by:
      values in interface io.micronaut.core.convert.value.ConvertibleValues<Object>
    • get

      public <T> Optional<T> get(CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)
      Specified by:
      get in interface io.micronaut.core.value.ValueResolver<CharSequence>