Constructor wrapping the given session attributes map. @param sessionId the id of the associated session @param attributes the attributes
Return the value for the attribute of the given name, if any. @param name the name of the attribute @return the current attribute value, or {@code null} if not found
Retrieve the names of all attributes. @return the attribute names as string array, never {@code null}
Return an id for the associated session. @return the session id as string (never {@code null})
Expose the object to synchronize on for the underlying session. @return the session mutex to use (never {@code null})
Whether the {@link #sessionCompleted()} was already invoked.
Register a callback to execute on destruction of the specified attribute. The callback is executed when the session is closed. @param name the name of the attribute to register the callback for @param callback the destruction callback to be executed
Remove the attribute of the given name, if it exists. <p>Also removes the registered destruction callback for the specified attribute, if any. However it <i>does not</i> execute the callback. It is assumed the removed object will continue to be used and destroyed independently at the appropriate time. @param name the name of the attribute
Invoked when the session is completed. Executed completion callbacks.
Set the value with the given name replacing an existing value (if any). @param name the name of the attribute @param value the value for the attribute
Extract the SiMP session attributes from the given message and wrap them in a {@link SimpAttributes} instance. @param message the message to extract session attributes from
Prefix for the name of session attributes used to store destruction callbacks.
Key set after the session is completed.
Key for the mutex session attribute.
A wrapper class for access to attributes associated with a SiMP session (e.g. WebSocket session).
@author Rossen Stoyanchev @since 4.1