22using System . Collections . Generic ;
33using System . Net ;
44using System . Net . Sockets ;
5+ using System . Threading ;
56using System . Threading . Tasks ;
67
78namespace LucHeart . CoreOSC ;
@@ -42,14 +43,14 @@ public OscListener(IPEndPoint listenerEndPoint)
4243 }
4344 }
4445
45- public async Task < OscMessage > ReceiveMessageAsync ( )
46+ public async Task < OscMessage > ReceiveMessageAsync ( CancellationToken ct = default )
4647 {
4748 if ( EnableTransparentBundleToMessageConversion )
4849 {
4950 if ( MessageQueue . Count > 0 )
5051 return MessageQueue . Dequeue ( ) ;
5152
52- var receiveResult = await UdpClient . ReceiveAsync ( ) ;
53+ var receiveResult = await UdpClient . ReceiveAsync ( ct ) ;
5354
5455 if ( ! OscBundle . IsBundle ( receiveResult . Buffer ) )
5556 return OscMessage . ParseMessage ( receiveResult . Buffer ) ;
@@ -62,26 +63,26 @@ public async Task<OscMessage> ReceiveMessageAsync()
6263 }
6364 else
6465 {
65- var receiveResult = await UdpClient . ReceiveAsync ( ) ;
66+ var receiveResult = await UdpClient . ReceiveAsync ( ct ) ;
6667 return OscMessage . ParseMessage ( receiveResult . Buffer ) ;
6768 }
6869 }
6970
70- public async Task < ( OscMessage Message , IPEndPoint EndPoint ) > ReceiveMessageExAsync ( )
71+ public async Task < ( OscMessage Message , IPEndPoint EndPoint ) > ReceiveMessageExAsync ( CancellationToken ct = default )
7172 {
72- var receiveResult = await UdpClient . ReceiveAsync ( ) ;
73+ var receiveResult = await UdpClient . ReceiveAsync ( ct ) ;
7374 return ( OscMessage . ParseMessage ( receiveResult . Buffer ) , receiveResult . RemoteEndPoint ) ;
7475 }
7576
76- public async Task < OscBundle > ReceiveBundleAsync ( )
77+ public async Task < OscBundle > ReceiveBundleAsync ( CancellationToken ct = default )
7778 {
78- var receiveResult = await UdpClient . ReceiveAsync ( ) ;
79+ var receiveResult = await UdpClient . ReceiveAsync ( ct ) ;
7980 return OscBundle . ParseBundle ( receiveResult . Buffer ) ;
8081 }
8182
82- public async Task < ( OscBundle Bundle , IPEndPoint EndPoint ) > ReceiveBundleExAsync ( )
83+ public async Task < ( OscBundle Bundle , IPEndPoint EndPoint ) > ReceiveBundleExAsync ( CancellationToken ct = default )
8384 {
84- var receiveResult = await UdpClient . ReceiveAsync ( ) ;
85+ var receiveResult = await UdpClient . ReceiveAsync ( ct ) ;
8586 return ( OscBundle . ParseBundle ( receiveResult . Buffer ) , receiveResult . RemoteEndPoint ) ;
8687 }
8788
0 commit comments