Skip to content

Commit

Permalink
feat(MulticastService): enable/disable ignoring duplicate message
Browse files Browse the repository at this point in the history
  • Loading branch information
richardschneider committed Oct 10, 2019
1 parent 41647b1 commit 9c9ad3a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
13 changes: 13 additions & 0 deletions src/MulticastService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ public MulticastService(Func<IEnumerable<NetworkInterface>, IEnumerable<NetworkI

UseIpv4 = Socket.OSSupportsIPv4;
UseIpv6 = Socket.OSSupportsIPv6;
IgnoreDuplicateMessages = true;
}

/// <summary>
Expand All @@ -150,6 +151,18 @@ public MulticastService(Func<IEnumerable<NetworkInterface>, IEnumerable<NetworkI
/// </value>
public bool UseIpv6 { get; set; }

/// <summary>
/// Determines if received messages are checked for duplicates.
/// </summary>
/// <value>
/// <b>true</b> to ignore duplicate messages. Defaults to <b>true</b>.
/// </value>
/// <remarks>
/// When set, a message that has been received within the last minute
/// will be ignored.
/// </remarks>
public bool IgnoreDuplicateMessages { get; set; }

/// <summary>
/// The interval for discovering network interfaces.
/// </summary>
Expand Down
1 change: 1 addition & 0 deletions test/MulticastServiceTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public void Can_Create()
{
var mdns = new MulticastService();
Assert.IsNotNull(mdns);
Assert.IsTrue(mdns.IgnoreDuplicateMessages);
}

[TestMethod]
Expand Down
5 changes: 4 additions & 1 deletion test/ServiceDiscoveryTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,10 @@ public void Announce_SentTwice()
var service = new ServiceProfile("z", "_sdtest-4._udp", 1024, new[] { IPAddress.Loopback });
var done = new ManualResetEvent(false);
var nanswers = 0;
var mdns = new MulticastService();
var mdns = new MulticastService
{
IgnoreDuplicateMessages = false
};
mdns.AnswerReceived += (s, e) =>
{
var msg = e.Message;
Expand Down

0 comments on commit 9c9ad3a

Please # to comment.