public void Dispose() { //if (isStarted) Stop(); try { messageListener?.Dispose(); } catch (Exception error) { Log.Error("Failed to dispose TCP message listener!", error); } try { Sessions?.Dispose(); } catch (Exception error) { Log.Error("Failed to dispose session manager!", error); } try { receiver?.Dispose(); receiver = null; } catch (Exception error) { Log.Error("Failed to dispose HTTP receiver!", error); } }
public void Dispose() { //if (isStarted) Stop(); messageListener?.Dispose(); Sessions?.Dispose(); receiver?.Dispose(); receiver = null; }
public void LifeCycleTest() { var listenerSuccess = false; var publisher = new InteractionMessenger(); var message = new GenericInteractionMessage<int>(1); var listener = new MessageListener(publisher, m => { ((GenericInteractionMessage<int>)m).Value.Is(1); listenerSuccess = true; }); //------------------ listenerSuccess.Is(false); publisher.Raise(message); listenerSuccess.Is(true); //------------------ listenerSuccess = false; listener.Dispose(); publisher.Raise(message); listenerSuccess.Is(false); try { listener.RegisterAction(_ =>{}); } catch (Exception e) { e.GetType().Is(typeof(ObjectDisposedException)); } }
public void LifeCycleTest() { var listenerSuccess = false; var publisher = new InteractionMessenger(); var message = new GenericInteractionMessage <int>(1); var listener = new MessageListener(publisher, m => { ((GenericInteractionMessage <int>)m).Value.Is(1); listenerSuccess = true; }); //------------------ listenerSuccess.Is(false); publisher.Raise(message); listenerSuccess.Is(true); //------------------ listenerSuccess = false; listener.Dispose(); publisher.Raise(message); listenerSuccess.Is(false); try { listener.RegisterAction(_ => {}); } catch (Exception e) { e.GetType().Is(typeof(ObjectDisposedException)); } }
public void Dispose() { messageListener.Dispose(); }
public void AddHandlerKindTest() { var handler1Called = false; var handler2Called = false; var handler3Called = false; var handler4Called = false; var handler5Called = false; var publisher = new InteractionMessenger(); var message0 = new GenericInteractionMessage<int>(1); var message1 = new GenericInteractionMessage<int>(1, "Dummy1"); var message2 = new GenericInteractionMessage<int>(1, "Dummy2"); var listener1 = new MessageListener(publisher) { {"Dummy1", _ => handler1Called = true}, {"Dummy2", _ => handler2Called = true, _ => handler3Called = true }, _ => handler4Called = true, {"Dummy1", _ => handler5Called = true} }; publisher.Raise(message0); handler1Called.Is(false); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(true); handler5Called.Is(false); handler4Called = false; publisher.Raise(message1); handler1Called.Is(true); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(true); handler5Called.Is(true); handler1Called = false; handler4Called = false; handler5Called = false; publisher.Raise(message2); handler1Called.Is(false); handler2Called.Is(true); handler3Called.Is(true); handler4Called.Is(true); handler5Called.Is(false); handler1Called = false; handler2Called = false; handler3Called = false; handler4Called = false; handler5Called = false; listener1.Dispose(); publisher.Raise(message0); publisher.Raise(message1); publisher.Raise(message2); handler1Called.Is(false); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(false); handler5Called.Is(false); }
public void SourceReferenceMemoryLeakTest() { var handler1Called = false; var publisherStrongReference = new InteractionMessenger(); var publisherWeakReference = new WeakReference<InteractionMessenger>(publisherStrongReference); var message = new GenericInteractionMessage<int>(1, "Dummy1"); var listener = new MessageListener(publisherStrongReference); listener.RegisterAction("Dummy1", _ =>handler1Called = true); publisherStrongReference.Raise(message); handler1Called.Is(true); listener.Dispose(); publisherStrongReference = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); InteractionMessenger resultPublisher = null; publisherWeakReference.TryGetTarget(out resultPublisher).Is(false); resultPublisher.IsNull(); }
public void AddHandlerKindTest() { var handler1Called = false; var handler2Called = false; var handler3Called = false; var handler4Called = false; var handler5Called = false; var publisher = new InteractionMessenger(); var message0 = new GenericInteractionMessage <int>(1); var message1 = new GenericInteractionMessage <int>(1, "Dummy1"); var message2 = new GenericInteractionMessage <int>(1, "Dummy2"); var listener1 = new MessageListener(publisher) { { "Dummy1", _ => handler1Called = true }, { "Dummy2", _ => handler2Called = true, _ => handler3Called = true }, _ => handler4Called = true, { "Dummy1", _ => handler5Called = true } }; publisher.Raise(message0); handler1Called.Is(false); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(true); handler5Called.Is(false); handler4Called = false; publisher.Raise(message1); handler1Called.Is(true); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(true); handler5Called.Is(true); handler1Called = false; handler4Called = false; handler5Called = false; publisher.Raise(message2); handler1Called.Is(false); handler2Called.Is(true); handler3Called.Is(true); handler4Called.Is(true); handler5Called.Is(false); handler1Called = false; handler2Called = false; handler3Called = false; handler4Called = false; handler5Called = false; listener1.Dispose(); publisher.Raise(message0); publisher.Raise(message1); publisher.Raise(message2); handler1Called.Is(false); handler2Called.Is(false); handler3Called.Is(false); handler4Called.Is(false); handler5Called.Is(false); }