Invoke the program with xxx_test. It prompts with '>'. You may enter the commands in the following section.
A typical usage for a coordinator at the prompt:
create group_a
A typical usage for a non coordinator at the prompt:
join group_a
As with any Horus application, a directory server (dirsvr) must be started before starting any xxx_test process.
Currently, the following characters are available for allocation to commands: iuvwz
Notice if all the windows are on the same machine, you might see the warning message after you invoke xxx_test: "bind broadcase address: Address already in use." You can safely ignore the message.
creating 'group_a' > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 1 MCAST STABILITY: 1 PT2PT STABILITY: 0 >
Notice the coordinator in window 1 gets join_request from the endpoint in window 2 and starts the flush protocol. From now on, the endpoint in wondow 2 has rank 1 in group_a.
group_a: JOIN_REQUEST (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 1 MCAST STABILITY: 1 PT2PT STABILITY: 0 > group_a: FLUSH_OK (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 1 MCAST STABILITY: 1 PT2PT STABILITY: 0 > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 2 I'm contact, some ep joining, done in 0.066537 sec MCAST STABILITY: 1 0 0 0 PT2PT STABILITY: 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 2 MCAST STABILITY: 1 0 1 0 PT2PT STABILITY: 0 0 >
joining 'group_a' > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 0, nmembers = 2 I'm joining, done in 0.190353 sec MCAST STABILITY: 1 0 1 0 PT2PT STABILITY: 0 0 >
group_a: JOIN_REQUEST (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 2 MCAST STABILITY: 1 0 1 0 PT2PT STABILITY: 0 0 > group_a: FLUSH_OK (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 2 MCAST STABILITY: 1 0 1 0 PT2PT STABILITY: 0 0 > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 3 I'm contact, some ep joining, done in 0.128782 sec MCAST STABILITY: 1 0 0 0 0 0 0 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 3 MCAST STABILITY: 1 0 0 0 0 0 1 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 3 MCAST STABILITY: 1 0 0 1 0 0 1 0 0 PT2PT STABILITY: 0 0 0 >
group_a: FLUSH (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 0, nmembers = 2 MCAST STABILITY: 1 0 1 0 PT2PT STABILITY: 0 0 > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 0, nmembers = 3 MCAST STABILITY: 1 0 0 1 0 0 0 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 1, nmembers = 3 MCAST STABILITY: 1 0 0 1 0 0 1 0 0 PT2PT STABILITY: 0 0 0 >
joining 'group_a' > group_a: VIEW (#problems = 0; size = 0, time = 0.000000) my_rank = 2, origin = 0, nmembers = 3 I'm joining, done in 0.185403 sec MCAST STABILITY: 1 0 0 0 0 0 1 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 2, origin = 2, nmembers = 3 MCAST STABILITY: 1 0 0 1 0 0 1 0 0 PT2PT STABILITY: 0 0 0 >
group_a: CAST (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 1, nmembers = 3 MCAST STABILITY: 1 1 0 1 1 0 1 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 0, origin = 0, nmembers = 3 MCAST STABILITY: 1 1 0 1 1 0 1 1 0 PT2PT STABILITY: 0 0 0 >
cast to 'group_a' > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 1, nmembers = 3 MCAST STABILITY: 1 1 0 1 1 0 1 0 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 1, origin = 1, nmembers = 3 MCAST STABILITY: 1 1 0 1 1 0 1 1 0 PT2PT STABILITY: 0 0 0 >
group_a: CAST (#problems = 0; size = 0, time = 0.000000) my_rank = 2, origin = 1, nmembers = 3 MCAST STABILITY: 1 0 0 1 1 0 1 1 0 PT2PT STABILITY: 0 0 0 > group_a: STABLE (#problems = 0; size = 0, time = 0.000000) my_rank = 2, origin = 2, nmembers = 3 MCAST STABILITY: 1 1 0 1 1 0 1 1 0 PT2PT STABILITY: 0 0 0 >