Network IO Interface has been edited by Aidan Skinner (Jun 24, 2009).

(View changes)

Content:
  1. Problem statement
    1. memory usage - unbounded Mina buffers
  2. Overall solution
    1. fix buffer sizes
    2. ability to delay processing events in network buffer
    3. ability to limit incoming network traffic back to client
  3. Areas which need to be addressed
    1. one heap per session vs total job heap
    2. push back on processing network traffic to client
    3. client needs to handle pause in network processing without filling up
  4. Specific changes to address those areas
    1. broker does not retain frames outside of the network buffer.
    2. brokers network buffers are of a fixed, configurable, size.
    3. client does not retain frames outside of the network buffer
    4. client network writes block if the buffer is full
    5. see Producer flow control for more details of the higher level aspects of this, IO work is purely focussed on the network layer, not the AMQP semantics.
  5. Current requirements which need to be carried forward
    1. Buffer size tuning
    2. TCP nodelay toggle
    3. SSL - link level encryption, what about cert validation etc?
    4. Protect-io
    5. Multi-io
    6. Write biasing
  6. Plugability
    1. Define interface
      1. Decouple protocol handling from transport
      2. Allow arbitrary plugins to be loaded at runtime ?

--------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to