414 Commits

Author SHA1 Message Date
Mark McLoughlin
5675f2603e Prefix the messaging.server module with an underscore
I'm assuming for now that we'll have a specific notifications
consumption API which will use this as an internal implementation
detail. We can make this public again in future if/when we know
what the use case for it is.
2013-05-10 16:04:10 +01:00
Mark McLoughlin
ae6019ff82 Prefix the drivers module with an underscore
To make it clear that the drivers API isn't public and stable.

See the discussion in:

  https://github.com/markmc/oslo-incubator/pull/3
2013-05-10 16:00:42 +01:00
Mark McLoughlin
d588b49cd0 Make transport methods private
These methods are private to the library, so we're prefixing them
with an underscore even though it's a bit unconventional.

See the discussion here:

  https://github.com/markmc/oslo-incubator/pull/3
2013-05-10 15:48:48 +01:00
Mark McLoughlin
ea2e34f37a Fix little typo in server exception class name 2013-05-10 12:52:21 +01:00
Mark McLoughlin
e54343ba15 Add missing utils module 2013-05-10 12:33:00 +01:00
Mark McLoughlin
a136bb089d Add convenience RPC server classes
Rather than forcing all users of the server API to construct a
dispatcher and import a specific executor, add a convenience server
class e.g.

  server = eventlet.EventletRPCServer(transport, target, endpoints)

Note that openstack.common.messaging.eventlet need be the only public
module which has a dependency on eventlet. We can expose servers,
clients and anything else eventlet specific through this part of the
API.
2013-05-10 12:16:16 +01:00
Mark McLoughlin
e14ddb80e5 Update changes.txt for recent API changes 2013-05-10 12:06:20 +01:00
Flaper Fesp
2405fd2619 Use : for loading classes in entry_points 2013-05-08 16:55:56 +02:00
Doug Hellmann
5fb15b61f5 Split the dispatcher from the executor and server
Move the executors into a sub-package and organize the
code so that only one module imports eventlet.

Rename messaging/rpc/server.py to messaging/rpc/dispatcher.py and
leave only the dispatcher there.

Move the rest of the server code to messaging/server.py where it
can be reused with other dispatchers.

Remove the convenience functions for instantiating servers
to avoid having eventlet imported in the module with the base
class.

Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-05-06 16:05:10 -04:00
Doug Hellmann
c7e204279b Make driver and transport methods public
The methods of the driver and transport should
be public, since they are used outside of those
classes.

Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-05-06 15:29:37 -04:00
Flaper Fesp
3a910e8f72 Pass the driver instance to the listener instead of config
There are a couple of cases where having the driver instance is a good
thing for the Listener, though, I would like to use the connection
management as motivation here:

Instead of creating a new connection for every Listener it would be
possible to let the driver instance managing the whole connect /
reconnect and session handling process.

In the old implementation, when a reconnect happens, the connection
instance calls every consumer and sets the new connection / session to
them.

See: http://github.com/openstack/oslo-incubator/blob/master/openstack/common/rpc/impl_qpid.py#L368

Listeners can access the config instance through the driver instance.
2013-05-06 20:54:12 +02:00
Mark McLoughlin
fb67f72375 Try out replacing "executor" for "dispatcher"
Suggestion from Doug
2013-05-04 11:12:43 +01:00
Mark McLoughlin
6199614494 Fix host vs server typo
Thanks to Eric
2013-05-03 15:20:38 +01:00
Mark McLoughlin
20c3674021 Initial framework 2013-04-30 06:49:56 +01:00