title This diagram shows two Locators starting up at the same time with no other members present.
entity L1
entity L2
L1 -> L2 : FindCoordinator
note right of L1: via tcp/ip
L2 -> L1 : FindCoordinatorResponse(registrants={L2,L1})
note right of L2
both members get {L1,L2} registrants and choose
L1 as coordinator due to ID sort order
end note
L2 -> L1 : FindCoordinator
L1 -> L2 : FindCoordinatorResponse(registrants={L1,L2})
note right of L2 : subsequent messaging is via UDP
L2 -> L1 : JoinRequest
L1 -> L1 : becomeCoordinator
note right of L1 : L1 ViewCreator thread processes request
L1 -> L2 : PrepareView(L1,L2)
L2 -> L1 : ack
L1 -> L2 : InstallView(L1,L2)
L2 -> L1 : ack
note right of L1 : L1 and L2 continue startup
|