Rafael Schloming wrote:
Jonathan Robie wrote:
C++ seems simpler and cleaner to me here. You create a Connection
object, open it, then use it to create a Session object:
C++:
=====
Connection connection;
try {
connection.open(host, port);
Session session = connection.newSession();
Python is more complex, because it requires:
* a socket object
* connection.start()
* a unique identifier that I specify
Python:
======
socket = connect(host, port)
connection = Connection (sock=socket, username=user, password=password)
connection.start()
session = connection.session(str(uuid4()))
Should we make the Python API ape C++ here?
Here are my thoughts in no particular order:
- How does the C++ connect work without a username and password?
That can be specified on Connection::open() either through the passed in
ConnectionSetttings (preferred at present as this allows setting of
various options including tcp/ssl/rdma) or as arguments with defaults in
the other two cases.
- I can buy adding a static convenience method similar to the C++ one,
although I'd expect a username and password somewhere as well. I think
we should preserve the ability to pass in a socket from an arbitrary
source though. This can be quite handy.
- I think the C++ API should probably permit an explicitly chosen
session name as well, but the certainly both could default to creating
the uuid when no session name is specified.
A user supplied name can indeed be passed in to the
Connection::newSession() method in c++ and defaults to a uuid if none is
specified.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]