I'm off for 2 weeks, here's where I'm leaving the qpidd broker:
Not done:
- Switch from channel to session XML commands.
- Session suspend/resume
- Session recovery.
What is done: fairly major refactor to facilitate the above:
| aconway | 2007-08-31 16:51:22 -0400 (Fri, 31 Aug 2007) | 22 lines
* Summary:
- Moved BrokerChannel functionality into Session.
- Moved ChannelHandler methods handling into SessionAdapter.
- Updated all handlers to use session.
(We're still using AMQP channel methods in SessionAdapter)
Roles & responsibilities:
Session:
- represents an _open_ session, may be active or suspended.
- ows all session state including handler chains.
- attahced to SessionAdapter when active, not when suspended.
SessionAdapter:
- reprents the association of a channel with a session.
- owned by Connection, kept in the session map.
- channel open == SessionAdapter.getSessio() != 0
Anything that depends on attachment to a channel, connection or
protocol should be in SessionAdpater. Anything that suvives a
session suspend belongs in Session.
I'll take it up in 2 weeks unless someone else works on session support
in the meantime.
Cheers,
Alan.