in src/DotPulsar/Internal/ProcessManager.cs [52:82]
public void Register(IEvent e)
{
switch (e)
{
case ConsumerCreated _:
DotPulsarMeter.ConsumerCreated();
break;
case ConsumerDisposed consumerDisposed:
Remove(consumerDisposed.CorrelationId);
DotPulsarMeter.ConsumerDisposed();
break;
case ProducerCreated _:
DotPulsarMeter.ProducerCreated();
break;
case ProducerDisposed producerDisposed:
Remove(producerDisposed.CorrelationId);
DotPulsarMeter.ProducerDisposed();
break;
case ReaderCreated _:
DotPulsarMeter.ReaderCreated();
break;
case ReaderDisposed readerDisposed:
Remove(readerDisposed.CorrelationId);
DotPulsarMeter.ReaderDisposed();
break;
default:
if (_processes.TryGetValue(e.CorrelationId, out var process))
process.Handle(e);
break;
}
}