Skip to content

Extract TCP Broadcaster into separate gem #258

@e2

Description

@e2

UPDATE/SUMMARY: TCP functionality shouldn't be in Listen (which aims at portability) - see comments. As a Guard plugin - maybe.

A built in TCP server within Listen makes little sense, because:

  1. the host/port setup for broadcast/recipient modes is confusing and complex
  2. the current TCP server mode is unreliable on Windows (see Replace Celluloid::IO with native code (for TCP) #246)
  3. it adds an otherwise unnecessary dependency on Celluloid::IO
  4. it makes contribution tougher (listen is already too complex as it is)
  5. the message protocol should be versioned anyway
  6. the user should have more control over the TCP setup and which events to create and send and why (without needing changes in Listen), which files/dirs to ignore, etc.

I'd suggest something like listen_tcp_server which would simply use Listen as any other app would.

Any suggestions regarding the name and the implementation would be appreciated. (I can't promise much support aside from moving the existing Celluloid::IO-based TCP server into a separate gem).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions