Skip to content

Conversation

@MohammedSDev
Copy link

  • Close socket in onClosing:
    WebSocket connection should be properly closed when it’s in the "closing" state. This is crucial to avoid leaving hanging connections or resources.
  • Pass exception & skip open connection if it is connecting:
    It’s a good practice to ensure that if a connection is already in the process of being established (connecting state), no additional attempts should be made. This can prevent race conditions and multiple attempts to open the same connection.
  • Add WebSocketException.java:
    Introducing a custom exception class (WebSocketException) is useful for catching and handling WebSocket-related errors more effectively.
  • Add hasSubscription function:
    This function checks whether the current WebSocket connection has a subscription. It can be valuable in preventing the same subscription channels from being added twice.
  • Add setStaleThresholdInSecond():
    This method might be used to define a threshold for considering connections as stale.
  • Expose more connection status check functions:
    This improves the ability to track the connection state (e.g., connecting, connected, closed), which helps in handling different scenarios like reconnection or error handling.
  • Add IDEAL as initialize status:
    Introducing a status like IDEAL as an initialization status can help signify that the WebSocket is not yet connected and is ready to initiate the connection, which could be important for managing transitions even before the connection starts.
  • Add auto ping-pong:
    Automatic ping-pong mechanisms are often used to keep WebSocket connections alive and to detect when a connection is lost.

@will-cole-oe
Copy link

While I'm not the owner of this repo, I would assume they will want you to get the junit tests working and passing before merging this, as well as adding any new tests for the additional functionality you've provided here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants