public override bool Invalidates(BroadcastableMessage other) { switch (other.Type) { case GossipMessageType.Alive: return ((AliveMessage)other).Name == Name; case GossipMessageType.Dead: return ((DeadMessage)other).Name == Name; default: return false; } }
public override bool Invalidates(BroadcastableMessage other) { switch (other.Type) { case GossipMessageType.Alive: return(((AliveMessage)other).Name == Name); case GossipMessageType.Dead: return(((DeadMessage)other).Name == Name); default: return(false); } }
public void Broadcast(BroadcastableMessage message, EventWaitHandle @event) { Debug.Assert(message != null); byte[] messageBytes; using (var ms = new MemoryStream()) { _messageEncoder.Encode(message, ms); messageBytes = ms.ToArray(); } var broadcast = new Broadcast(message, messageBytes, @event); _broadcasts.Enqueue(broadcast); }
public Broadcast(BroadcastableMessage message, byte[] messageBytes, EventWaitHandle @event) { Message = message; MessageBytes = messageBytes; Event = @event; }
public abstract bool Invalidates(BroadcastableMessage other);