Ohne Titel

Verbindung annehmen, Datenstromstart lesen
(<shundstream>), <requestconnection> lesen
[Client abgelehnt]
<connectionrefused> mit Begründung, Verbindungsabbau*
[Client akzeptiert]
Client-ID zuteilen, per
<connectionaccepted> mitteilen
Serverlock exklusiv belegen
Wenn das Lock belegt wird muss es *unbedingt* auch wieder
freigegeben werden, egal was zwischendurch passiert.
try/finally ist hier empfehlenswert.
Neuem Client alle vorhandenen Teilnehmer
mitteilen (<announcenewparticipant>)
Alles was wir dem Client senden wird zunächst
nur in die Sendequeue gelegt. Dadurch läuft das
ganze schnell und unabhängig vom Client, so
dass das exklusive Serverlock möglichst kurz
belegt ist.
Neuen Client in Teilnehmerliste eintragen
Alle Teilnehmer über neuen Client
informieren (<announcenewparticipant>)
Neuen Teilnehmer in System-Chatnachricht
ankündigen (<chat> mit from="")
Neuem Client aktuellen Diagrammstatus
übermitteln: getCreateEvent() erst für die Knoten,
dann die Flusskanten, dann die Kommentarkanten
Serverlock freigeben
Neuen Client informieren ob er das Diagramm editieren
darf (<editingallowed> oder <editingforbidden>)
Normaler Betrieb der Verbindung
Hierbei wird also auch
der neue Client über
sich selbst informiert.