Class LocalOperatorRegistry
In-Memory-Speicher für lokal verwaltete Operatoren. Vergibt synthetische
InternalIDs (negative longs, monoton fallend ab -1),
die nicht mit echten DIWASS-IDs (positiv) kollidieren. Pro Doc-Kontext
ist Eindeutigkeit garantiert; über Doc-Grenzen hinweg ist sie nicht
versprochen, wird aber durch den Counter de facto erreicht.
public sealed class LocalOperatorRegistry
- Inheritance
-
LocalOperatorRegistry
- Inherited Members
Properties
- All
Snapshot aller registrierten Operatoren.
Methods
- Add(LocalOperatorInput)
Hängt einen lokal verwalteten Operator an die Registry an und liefert die zugewiesene synthetische InternalID. Die ID ist negativ; der Aufrufer setzt sie unverändert auf die
OperatorInternalID-Felder der Beteiligten im Doc.
- LoadFromDocXml(byte[])
Re-hydratisiert die Registry aus den im DocXml hinterlegten synthetischen
GetOperatorResponse-Blocks. Notwendig, wenn ein gespeichertes Doc oder ein Template wieder geladen wird und die bereits vergebenen negativen InternalIDs erhalten bleiben müssen.Erkannt werden ausschließlich
Operator-Einträge mit negativerinternalID— echte DIWASS-Operatoren (positive IDs) sind kein Registry-Stoff. Bereits in der Registry vorhandene IDs werden übersprungen, der Aufruf ist also idempotent. Der ID-Counter wird hinter die kleinste geladene ID gezogen.Liefert die Anzahl tatsächlich neu geladener Operatoren.
- Remove(long)
Entfernt einen Eintrag. Liefert
true, wenn die ID gefunden wurde.
- TryGet(long)
Nachschlagen per InternalID.
nullwenn nicht registriert.