public static void UnregisterConsumer(IOscConsumer consumer) { var foundConsumer = false; foreach (var group in _groupsByPort.Values) { if (!group.Consumers.Contains(consumer)) { continue; } foundConsumer = true; var shouldCloseGroup = @group.Consumers.Count == 1; if (shouldCloseGroup) { Log.Debug($"Closing port {group.Port}"); group.Receiver.Close(); group.Thread.Join(); _groupsByPort.Remove(group.Port); } break; } if (!foundConsumer) { Log.Error("Attempted to unregister a non-registered OSC consumer?"); } }
public static void RegisterConsumer(IOscConsumer consumer, int port) { var group = CreateOrGetReceiverForPort(port); group.Consumers.Add(consumer); }