Esempio n. 1
0
            /// <remarks>
            /// Message contains highest seqnos of all members
            /// seen by this member. Highest seqnos are retrieved from the NAKACK layer above.
            /// </remarks>
            /// <summary>
            /// Multicasts a STABLE message to all group members.
            /// </summary>
            private void sendStableMessage()
            {
                Digest       d=null;
                Message      msg=new Message(null,null,null); // mcast message
                StableHeader hdr;

                d=getDigest();
                if(d != null && d.size() > 0)
                {
                    if(Trace.trace)
                        Trace.info("STABLE.sendStableMessage()", "mcasting digest " + d +
                            " (num_gossip_runs=" + stable.num_gossip_runs + ", max_gossip_runs=" + stable.max_gossip_runs + ")");
                    hdr=new StableHeader(StableHeader.STABLE_GOSSIP, d);
                    msg.putHeader("STABLE", hdr);
                    stable.passDown(new Event(Event.MSG, msg));
                }
            }
Esempio n. 2
0
            /// <summary>
            /// Sends the stability message to all members.
            /// </summary>
            public void run()
            {
                Message      msg;
                StableHeader hdr;

                if(d != null && !stopped)
                {
                    msg=new Message(null,null,null);
                    hdr=new StableHeader(StableHeader.STABILITY, d);
                    msg.putHeader("STABLE", hdr);
                    stable_prot.passDown(new Event(Event.MSG, msg));
                    d=null;
                }
                stopped=true;
            }