Skip to content

Commit 1eddd51

Browse files
committed
Deduplication
1 parent 854b939 commit 1eddd51

File tree

2 files changed

+20
-58
lines changed

2 files changed

+20
-58
lines changed

CoreOSC/IOscListener.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,11 @@ namespace LucHeart.CoreOSC;
66

77
public interface IOscListener
88
{
9-
public Task<OscMessage> ReceiveMessageAsync();
10-
11-
public Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync();
12-
13-
public Task<OscBundle> ReceiveBundleAsync();
14-
15-
public Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync();
16-
17-
#if !NETSTANDARD
189
public Task<OscMessage> ReceiveMessageAsync(CancellationToken ct);
1910

2011
public Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync(CancellationToken ct);
2112

2213
public Task<OscBundle> ReceiveBundleAsync(CancellationToken ct);
2314

2415
public Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync(CancellationToken ct);
25-
#endif
2616
}

CoreOSC/OscListener.cs

Lines changed: 20 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -43,39 +43,18 @@ public OscListener(IPEndPoint listenerEndPoint)
4343
}
4444
}
4545

46-
public async Task<OscMessage> ReceiveMessageAsync()
46+
public async Task<OscMessage> ReceiveMessageAsync(CancellationToken ct = default)
4747
{
4848
if (EnableTransparentBundleToMessageConversion)
4949
{
5050
if (MessageQueue.Count > 0)
5151
return MessageQueue.Dequeue();
5252

53-
var receiveResult = await UdpClient.ReceiveAsync();
54-
55-
if (!OscBundle.IsBundle(receiveResult.Buffer))
56-
return OscMessage.ParseMessage(receiveResult.Buffer);
57-
58-
var bundle = OscBundle.ParseBundle(receiveResult.Buffer);
59-
foreach (var bundleMessage in bundle.Messages)
60-
MessageQueue.Enqueue(bundleMessage);
61-
62-
return MessageQueue.Dequeue();
63-
}
64-
else
65-
{
66-
var receiveResult = await UdpClient.ReceiveAsync();
67-
return OscMessage.ParseMessage(receiveResult.Buffer);
68-
}
69-
}
7053
#if !NETSTANDARD
71-
public async Task<OscMessage> ReceiveMessageAsync(CancellationToken ct)
72-
{
73-
if (EnableTransparentBundleToMessageConversion)
74-
{
75-
if (MessageQueue.Count > 0)
76-
return MessageQueue.Dequeue();
77-
7854
var receiveResult = await UdpClient.ReceiveAsync(ct);
55+
#else
56+
var receiveResult = await UdpClient.ReceiveAsync();
57+
#endif
7958

8059
if (!OscBundle.IsBundle(receiveResult.Buffer))
8160
return OscMessage.ParseMessage(receiveResult.Buffer);
@@ -88,51 +67,44 @@ public async Task<OscMessage> ReceiveMessageAsync(CancellationToken ct)
8867
}
8968
else
9069
{
70+
#if !NETSTANDARD
9171
var receiveResult = await UdpClient.ReceiveAsync(ct);
72+
#else
73+
var receiveResult = await UdpClient.ReceiveAsync();
74+
#endif
9275
return OscMessage.ParseMessage(receiveResult.Buffer);
9376
}
9477
}
95-
#endif
9678

97-
public async Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync()
79+
public async Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync(CancellationToken ct = default)
9880
{
99-
var receiveResult = await UdpClient.ReceiveAsync();
100-
return (OscMessage.ParseMessage(receiveResult.Buffer), receiveResult.RemoteEndPoint);
101-
}
10281
#if !NETSTANDARD
103-
public async Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync(CancellationToken ct)
104-
{
10582
var receiveResult = await UdpClient.ReceiveAsync(ct);
83+
#else
84+
var receiveResult = await UdpClient.ReceiveAsync();
85+
#endif
10686
return (OscMessage.ParseMessage(receiveResult.Buffer), receiveResult.RemoteEndPoint);
10787
}
108-
#endif
10988

110-
public async Task<OscBundle> ReceiveBundleAsync()
89+
public async Task<OscBundle> ReceiveBundleAsync(CancellationToken ct = default)
11190
{
112-
var receiveResult = await UdpClient.ReceiveAsync();
113-
return OscBundle.ParseBundle(receiveResult.Buffer);
114-
}
11591
#if !NETSTANDARD
116-
public async Task<OscBundle> ReceiveBundleAsync(CancellationToken ct)
117-
{
11892
var receiveResult = await UdpClient.ReceiveAsync(ct);
93+
#else
94+
var receiveResult = await UdpClient.ReceiveAsync();
95+
#endif
11996
return OscBundle.ParseBundle(receiveResult.Buffer);
12097
}
121-
#endif
12298

123-
public async Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync()
99+
public async Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync(CancellationToken ct = default)
124100
{
125-
var receiveResult = await UdpClient.ReceiveAsync();
126-
return (OscBundle.ParseBundle(receiveResult.Buffer), receiveResult.RemoteEndPoint);
127-
}
128101
#if !NETSTANDARD
129-
public async Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync(CancellationToken ct)
130-
{
131102
var receiveResult = await UdpClient.ReceiveAsync(ct);
103+
#else
104+
var receiveResult = await UdpClient.ReceiveAsync();
105+
#endif
132106
return (OscBundle.ParseBundle(receiveResult.Buffer), receiveResult.RemoteEndPoint);
133107
}
134-
#endif
135-
136108
public void Dispose()
137109
{
138110
UdpClient.Dispose();

0 commit comments

Comments
 (0)