#102 Switch to a standard network library

open
Philip Aston
5
2012-09-29
2012-05-09
Philip Aston
No

As much of the communication package as possible should be replaced with a standard network library. This should improve maintainability and provide more flexibility.

Key features required:
- Client/Server networking over TCP.
- Support for java serialisation.
- Server side acceptor framework that manages connections and network events a scalable manner.
- Reaping of stale connections.
- Open source license.
- Actively maintained.

Nice to have (if the base layer doesn't do it, we'll need to maintain the current implementation):
- Ability to use a pair of InputStream/OutputStream as a transport.
- Addressable connections; a server can identify client connections by some meta data and target messages to specific clients.

Nice to have:
- Options for payload marshalling.
- Monitoring.

I'm going to look hard at Apache MINA to start with.

Discussion

  • Philip Aston
    Philip Aston
    2012-05-13

    Netty 3 looks cleaner than MINA.

     
  • Philip Aston
    Philip Aston
    2012-05-13

    Also need to support fan-out. (Why doesn't the SF tracker let me edit the "details" - sigh).

     
  • Philip Aston
    Philip Aston
    2012-05-13

    Feature #3526344 should be done first.

     
  • Philip Aston
    Philip Aston
    2012-07-01

    Aleph is worth considering too.

     
  • a bagehot
    a bagehot
    2012-07-02