2 // This file is part of the LWES .NET Binding (LWES.net)
4 // COPYRIGHT© 2009, Phillip Clark (phillip[at*flitbit[dot*org)
5 // original .NET implementation
7 // LWES.net is free software: you can redistribute it and/or modify
8 // it under the terms of the Lesser GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
12 // LWES.net is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // Lesser GNU General Public License for more details.
17 // You should have received a copy of the Lesser GNU General Public License
18 // along with LWES.net. If not, see <http://www.gnu.org/licenses/>.
20 namespace Org
.Lwes
.Listener
24 using System
.Net
.Sockets
;
27 using Org
.Lwes
.Properties
;
30 /// Implementation of the IEventListener for listening to multicast events.
32 public sealed class UnicastEventListener
: EventListenerBase
37 /// Initializes the event listener.
39 /// <param name="db"></param>
40 /// <param name="address"></param>
41 /// <param name="port"></param>
42 /// <param name="parallel"></param>
43 /// <param name="garbageHandling"></param>
44 public void Initialize(IEventTemplateDB db
48 , ListenerGarbageHandling garbageHandling
)
53 IsParallel
= parallel
;
58 /// Initializes the listener on a unicast address.
60 protected override void PerformInitialization()
62 base.FinishInitialize(new IPEndPoint(Address
, Port
),
65 s
.SetSocketOption(SocketOptionLevel
.Udp
, SocketOptionName
.NoDelay
, 1);
66 s
.SetSocketOption(SocketOptionLevel
.Socket
, SocketOptionName
.ReuseAddress
, 1);