DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Summary
| Package | Description | ||
|---|---|---|---|
| proton.core (alternatively, proton) | Core user protocol model and utility classes | proton.event | Event infrastructure |
| proton.codec | Data encode and decodeAMQP data and frame encoding and decoding | ||
| proton.types | Data types not supplied by the host language | ||
| proton.reactors | Library of tools for IO integration and event dispatch | ||
| proton.handlers | Library of tools for event handling | ||
| reactor | IO integration, event dispatch, and event handlers | ||
| proton.security | Encryption and authentication | proton.util | Utility code|
| proton.messenger | A home for the Messenger |
...
| API | |
| proton.extras | Extra classes that extend core Proton functionality |
| proton.util | Utility classes not supplied by the host language |
The base Proton exception or error class goes in 'proton', but more specific exception types would subclasses would reside in the various subpackages above.
There are some classes we intend to deprecate or remove: Connector, Listener, Driver.
Package 'proton.core'
- Connection, Session, Link, Terminus, Delivery, Transport, Address, Condition - AMQP model objects
- Message, Security Url, Data - Important user-facing utility classes
- Condition, ProtonException - Core error handling
Package 'proton.codec'
- Encoder, Decoder
Package 'proton.
...
reactor'
- Reactor, Container
- Collector, Event, EventType, EventHandler
- Perhaps also BaseHandler and BaseReactorMessagingHandler, IncomingMessageHandler, OutgoingMessageHandler
Package 'proton.
...
security'
- EncoderSSL, DecoderSASL
Package 'proton.
...
messenger'
Optional. Not every binding will include the Messenger API.
- Messenger, Subscription
- Timestamp, Described, UnsignedLong, etc.
- Map, List, Uuid
Package 'proton.
...
util'
Optional. A place for simple extensions to the language-provided standard library. If the utility classes can be kept private, that's better still.
- Logging classes
- Timestamp, Described, UnsignedLong, etc. - Data types not supplied by the host languageContainer
Package 'proton.
...
extras'
...
Optional. A place for end-user extensions to the core API.
- BlockingConnection
Changes
As of 15 September 2015, I've tried to simplify the proposed structure.
- Removed proton.event. Most bindings won't include this older variant of the event API. Instead, these classes can go under proton.reactor.
- Removed proton.types. These are host language extensions, the same as the classes in proton.util. Such types are moved to proton.util.
- Moved Url and Data to proton.core. They are part of the core user experience, across programming models.
- DefaultHandler
Package 'proton.util'
...
- Url
Possible subpackages
- proton.util.logging
- proton.util.framing
Package 'proton.messenger'
...