You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Summary

PackageDescription
protonCore user model and utility classes
proton.eventEvent infrastructure
proton.codecData encode and decode
proton.reactorsLibrary of tools for IO integration and event dispatch
proton.handlersLibrary of tools for event handling
proton.messengerA home for Messenger
proton.contribExtra classes that extend core Proton functionality
proton.typesData types not supplied by the host language
proton.utilUtility classes not supplied by the host language


The 'reactors' and 'handlers' packages are expected to contain more classes over time as the number of IO integrations and event-handling behaviors grow.  By contrast, the other packages are expected to mostly stop growing once the necessary functionality is in place.

The 'event' and 'codec' packages are expected to see less mainstream usage and are therefore stowed a little further away.

The base Proton exception goes in 'proton', but more specific exception types would reside in the various subpackages above.

There are some classes we intend to deprecate or remove: Connector, Listener, Driver.

Package 'proton'

  • Connection, Session, Link, Terminus, Delivery, Transport, Address - AMQP model objects
  • Message, Security - Important user-facing utility classes
  • Condition, ProtonException - Core error handling

Package 'proton.event'

  • Collector, Event, EventType, EventHandler
  • Perhaps also BaseHandler and BaseReactor

Package 'proton.codec'

  • Encoder, Decoder

Package 'proton.types'

  • Timestamp, Described, UnsignedLong, etc.
  • Map, List, Uuid

Package 'proton.reactors'

If reactors end up using multiple related classes, dedicated subpackages may be used here.

  • Container

Package 'proton.handlers'

This may grow to have subpackages.

  • DefaultHandler

Package 'proton.util'

These are simple extensions to the language-provided standard library.

  • Url

Possible subpackages

  • proton.util.logging
  • proton.util.framing

Package 'proton.messenger'

  • Messenger, Subscription

Package 'proton.contrib'

  • BlockingConnection



  • No labels