Messenger V2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

By reading the old "msgr2 protocol" thread, and according to this
particular response (https://marc.info/?l=ceph-devel&m=147361359132535&;
w=2), I understood that the idea is to allow a daemon/client to
instantiate a V2 msgr instance in a new port, while still allowing a V1
msgr instance to exist.

I'm starting to make some changes to the msgr code, and I'm planning to
allow the specification of the protocol (V1 or V2) in the constructor.
This allows to create two messengers instances each one using a
different protocol and bonded to different ports.
Does this make sense?

Also, since we want to support multiple Ceph daemons (multiplexing) in
the same process, what would be the preferable API (messenger <-> Ceph
daemon) to be user:

a) Instantiate a single Messenger object and share the instance between
the multiple "sub-daemons"
b) Each "sub-daemon" instantiates a Messenger object, and the internal
Messenger code will take care of the magic of re-using/sharing the
connections to the same peers.

The current API for using the messenger exposes the "Connection"
abstraction. With the multiplexing feature, we will have "Stream"s
inside each "Connection".
My question is: should we keep the same API, hence the Connection
interface, and use it has actually a stream? (this has the benefit of
requiring almost no changes to the current code). 

Or, should we expose the Stream abstraction and rewrite the code that
uses the Messenger/Connection?

Thanks,
-- 
Ricardo Dias
Senior Software Engineer - Storage Team
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
HRB 21284
(AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux