[Spread-users] Questions about CAUSED_BY_NETWORK
andreas.ames at de.transport.bombardier.com
andreas.ames at de.transport.bombardier.com
Mon Mar 11 13:16:48 EDT 2013
Hi John,
thanks a lot for your explanations which make things much more
understandable to me.
Nevertheless I have some further questions below.
John Schultz <jschultz at spreadconcepts.com> schrieb am 11.03.2013 16:14:45:
> For a given client, the membership list of their *previous*
> membership, the new membership list and their new VS set allows a
> client to calculate exactly what kind of change they just saw.
> Anyone who was in the previous membership list but is not in their
> new VS set (even if they are in the new membership list) partitioned
> away and may not have seen the same messages in the previous
> membership of this client. Anyone who is in the new membership list
> but not in the VS set is a "new" member that merged in. Thus, a
> member that is both in this client's previous membership list and in
> the new membership list but isn't in this client's VS set was both
> removed and added. Again, that peculiar case means that member
> partitioned away from this client and, therefore, might not have
> seen the same messages in this client's previous membership,
> installed an intervening membership and may have delivered messages
> in that intervening membership too. Thus, additional reconciliation
> likely must be done with such a member, much like any other "new"
> member that merged in from "out of the blue."
>
> A client can access its VS set by calling the SP_get_memb_info() on
> its membership message, which fills out a memb_info structure. You
> can then pass that structure's my_vs_set field into
> SP_get_vs_set_members() to get that client's VS set. Additionally,
> a client can actually see all the different VS sets that merged
> together by using SP_get_vs_sets_info() and then iterating over the
> returned array of vs_set_info's and calling SP_get_vs_set_members()
> on each one. Documentation for these functions can be found here:
> http://www.spread.org/docs/spread_docs_4/docs/c_api.html
When I call SP_receive and get a membership message that is
CAUSED_BY_NETWORK:
* the "new membership list" is returned in the "groups" parameter of
SP_receive
* the VS set that is to be used for the algorithm you described above is
the VS set at index "my_vs_set"
* the "previous membership list" is not part of the received message but
has to be maintained by the application itsself
Is this summary correct?
Is my assumption right that a "self join" and a "self leave" (i.e. the
member owning the connection represented by the "mbox" parameter of
SP_receive is joining/leaving a group) is never communicated in a
CAUSED_BY_NETWORK message but rather as CAUSED_BY_JOIN, CAUSED_BY_LEAVE or
CAUSED_BY_DISCONNECT?
And finally: I guess that the maximum length of a membership message body
CAUSED_BY_NETWORK (parameter "mess" of SP_receive) is primarily a function
of the number of connections in the whole configuation. Do you have any
estimation of this function for me, so that I don't risk partial
membership messages given a known maximum number of connections?
Thanks again,
aa
--
Please consider the environment before you print / Merci de penser à
l'environnement avant d'imprimer / Bitte denken Sie an die Umwelt bevor
Sie drucken
Bombardier Transportation GmbH
Vorsitzender des Aufsichtsrats / Chairman of Supervisory Board: Prof. Dr.
Wilhelm Bender
Geschäftsführung / Executive Board: Michael Clausecker
(Vorsitzender/Chairman), Dr. Susanne Kortendick, Luc Charlemagne,
Gregorius Peters
Sitz der Gesellschaft / Principal Office: Berlin
Registergericht / Registration Court: Amtsgericht Charlottenburg, HRB
64838
_______________________________________________________________________________________________________________
This e-mail communication (and any attachment/s) may contain confidential
or privileged information and is intended only for the individual(s) or
entity named above and to others who have been specifically authorized to
receive it. If you are not the intended recipient, please do not read,
copy, use or disclose the contents of this communication to others. Please
notify the sender that you have received this e-mail in error by reply
e-mail, and delete the e-mail subsequently. Please note that in order to
protect the security of our information systems an AntiSPAM solution is in
use and will browse through incoming emails.
Thank you.
_________________________________________________________________________________________________________________
Ce message (ainsi que le(s) fichier(s)), transmis par courriel, peut
contenir des renseignements confidentiels ou protégés et est destiné à
l?usage exclusif du destinataire ci-dessus. Toute autre personne est, par
les présentes, avisée qu?il est strictement interdit de le diffuser, le
distribuer ou le reproduire. Si vous l?avez reçu par inadvertance,
veuillez nous en aviser et détruire ce message. Veuillez prendre note
qu'une solution antipollupostage (AntiSPAM) est utilisée afin d'assurer la
sécurité de nos systèmes d'information et qu'elle furètera les courriels
entrants.
Merci.
_________________________________________________________________________________________________________________
More information about the Spread-users
mailing list