Skip to content

Pipe (HubFeed) never unregisters receiving clients #24

@pvanallen

Description

@pvanallen

It appears that when using the pipe service, that the Hub never deletes disconnected clients that have registered to receive from a pipe. The result is that each time a new client connects the Hub sends out multiple messages - the total number of messages equals the sum of every client that has connected since the hub was launched.

For example in the following debug capture, even though only one client is currently connected for receiving, the hub is sending multiple messages out with only a single send command.

DEBUG - Session 17 started (client=/127.0.0.1:62633)
DEBUG - Session 18 started (client=/127.0.0.1:62634)
DEBUG - ### Received message from client [/service/tools/pipe/connect/feed0]
DEBUG - ### Received message from client [/service/tools/pipe/connect/feed0]
DEBUG - ### Sending message to client [/service/tools/pipe/connect/feed0 OK]
DEBUG - ### Received message from client [service/tools/pipe/receive/feed0]
DEBUG - ### Sending message to client [/service/tools/pipe/connect/feed0 OK]
DEBUG - ### Received message from client [/service/tools/pipe/send/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]
DEBUG - ### Sending message to client [service/tools/pipe/receive/feed0 {0 32 300 0 0}]

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions