Skip to content

Commit b85cbc3

Browse files
authored
Merge branch 'master' into transparent-bundle-conversion
2 parents 1ada93a + ae093d0 commit b85cbc3

File tree

15 files changed

+206
-44
lines changed

15 files changed

+206
-44
lines changed

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
updates:
3+
# Weekly checks for nuget package updates
4+
- package-ecosystem: 'nuget'
5+
directory: '/'
6+
schedule:
7+
interval: 'weekly'
8+
day: 'monday'
9+
time: '06:00'
10+
groups:
11+
npm-dependencies:
12+
patterns:
13+
- '*' # Group all updates together

.github/workflows/ci-build.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
on:
2+
push:
3+
branches:
4+
- '*'
5+
pull_request:
6+
branches:
7+
- master
8+
- develop
9+
types: [opened, reopened, synchronize]
10+
workflow_call:
11+
workflow_dispatch:
12+
13+
name: ci-build
14+
15+
env:
16+
DOTNET_VERSION: 8.0.x
17+
REGISTRY: ghcr.io
18+
19+
jobs:
20+
21+
build:
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup .NET SDK ${{ env.DOTNET_VERSION }}
29+
uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: ${{ env.DOTNET_VERSION }}
32+
33+
- name: Install dependencies
34+
run: dotnet restore
35+
36+
- name: Build
37+
run: dotnet build --configuration Release --no-restore
38+
39+
- name: Test
40+
run: dotnet test --no-restore --verbosity normal
41+
42+
- name: Upload artifacts
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: Package
46+
path: |
47+
./CoreOSC/bin/Release/*.nupkg
48+
./CoreOSC/bin/Release/*.snupkg
49+
50+
retention-days: 7
51+
if-no-files-found: error

CoreOSC.RecieverExample/CoreOSC.RecieverExample.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net7.0</TargetFramework>
5+
<TargetFramework>net8.0</TargetFramework>
66
<AssemblyName>LucHeart.CoreOSC.RecieverExample</AssemblyName>
77
<RootNamespace>LucHeart.CoreOSC.RecieverExample</RootNamespace>
8-
<LangVersion>11</LangVersion>
8+
<LangVersion>12</LangVersion>
99
<Nullable>enable</Nullable>
1010
<IsPackable>false</IsPackable>
1111
<Company>LucHeart</Company>

CoreOSC.Tests/CoreOSC.Tests.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
<GenerateProgramFile>false</GenerateProgramFile>
66
<AssemblyName>LucHeart.CoreOSC.Tests</AssemblyName>
77
<RootNamespace>LucHeart.CoreOSC.Tests</RootNamespace>
8-
<LangVersion>11</LangVersion>
8+
<LangVersion>12</LangVersion>
99
<Nullable>enable</Nullable>
1010
<Company>LucHeart</Company>
11-
<TargetFramework>net7.0</TargetFramework>
11+
<TargetFramework>net8.0</TargetFramework>
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="coverlet.collector" Version="6.0.0">
15+
<PackageReference Include="coverlet.collector" Version="6.0.2">
1616
<PrivateAssets>all</PrivateAssets>
1717
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1818
</PackageReference>
19-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
20-
<PackageReference Include="xunit" Version="2.5.0" />
21-
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
20+
<PackageReference Include="xunit" Version="2.9.0" />
21+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
2222
<PrivateAssets>all</PrivateAssets>
2323
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2424
</PackageReference>

CoreOSC.Tests/ListenerTest.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Net.Sockets;
22
using System.Threading.Tasks;
33
using Xunit;
4+
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
45

56
namespace LucHeart.CoreOSC.Tests;
67

@@ -11,7 +12,7 @@ public class ListenerTest
1112
/// Opening the second listener will fail unless the first one has been properly closed.
1213
/// </summary>
1314
[Fact(Timeout = 5000)]
14-
public void CloseListener()
15+
public async Task CloseListener()
1516
{
1617
var endpoint = TestUtils.GetNextEndpoint();
1718
using (new OscListener(endpoint))
@@ -25,7 +26,7 @@ public void CloseListener()
2526
/// Tries to open two listeners on the same port, results in an exception
2627
/// </summary>
2728
[Fact(Timeout = 5000)]
28-
public void CloseListenerException()
29+
public async Task CloseListenerException()
2930
{
3031
var endpoint = TestUtils.GetNextEndpoint();
3132
Assert.Throws<SocketException>(() =>

CoreOSC.Tests/TimetagTest.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ public class TimetagTest
88
[Fact]
99
public void TestTimetag()
1010
{
11-
var time = (ulong) 60 * 60 * 24 * 365 * 108;
12-
time <<= 32;
13-
time += (ulong)(Math.Pow(2, 32) / 2);
14-
var date = Utils.TimeTagToDateTime(time);
11+
ulong tag = 0;
1512

16-
Assert.Equal(DateTime.Parse("2007-12-06 00:00:00.500"), date);
13+
tag |= (ulong)3424309443 << 32; // https://www.timeanddate.com/date/durationresult.html?d1=1&m1=1&y1=1900&d2=6&m2=7&y2=2008&h1=0&i1=0&s1=0&h2=5&i2=4&s2=3
14+
tag |= (ulong)(0xFFFFFFFF / 10); // 100ms
15+
16+
var date = Utils.TimeTagToDateTime(tag);
17+
18+
Assert.Equal(DateTime.Parse("2008-7-06 05:04:03.100"), date);
1719
}
1820

1921
[Fact]
@@ -29,5 +31,6 @@ public void TestDateTimeToTimetag()
2931
Assert.Equal(dt.Minute, dtBack.Minute);
3032
Assert.Equal(dt.Second, dtBack.Second);
3133
Assert.Equal(dt.Millisecond, dtBack.Millisecond);
34+
Assert.Equal(dt.Microsecond, dtBack.Microsecond);
3235
}
3336
}

CoreOSC/CoreOSC.csproj

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<PropertyGroup>
44
<AssemblyName>LucHeart.CoreOSC</AssemblyName>
55
<RootNamespace>LucHeart.CoreOSC</RootNamespace>
6-
<TargetFrameworks>net7.0;netstandard2.1</TargetFrameworks>
7-
<LangVersion>11</LangVersion>
6+
<TargetFrameworks>net7.0;netstandard2.1;net8.0</TargetFrameworks>
7+
<LangVersion>12</LangVersion>
88
<Nullable>enable</Nullable>
99
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1010
<PackageId>LucHeart.CoreOSC</PackageId>
@@ -13,17 +13,19 @@
1313
<RepositoryUrl>https://github.com/LucHeart/CoreOSC-UTF8-ASYNC</RepositoryUrl>
1414
<PackageTags>osc async</PackageTags>
1515
<Company>LucHeart</Company>
16-
<AssemblyVersion>1.2.1.0</AssemblyVersion>
17-
<FileVersion>1.2.1.0</FileVersion>
16+
<AssemblyVersion>1.4.0.0</AssemblyVersion>
17+
<FileVersion>1.4.0.0</FileVersion>
1818
<NeutralLanguage>en</NeutralLanguage>
19-
<Version>1.2.1</Version>
19+
<Version>1.4.0</Version>
2020
<PackageLicenseExpression>MIT</PackageLicenseExpression>
2121
<RepositoryType>git</RepositoryType>
2222
<PackageReadmeFile>README.md</PackageReadmeFile>
23+
<IncludeSymbols>true</IncludeSymbols>
24+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2325
</PropertyGroup>
2426

2527
<ItemGroup>
26-
<None Include="..\README.md" Pack="true" PackagePath="\"/>
28+
<None Include="..\README.md" Pack="true" PackagePath="\" />
2729
</ItemGroup>
2830

2931

CoreOSC/IOscListener.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
using System.Threading.Tasks;
1+
using System.Net;
2+
using System.Threading.Tasks;
23

34
namespace LucHeart.CoreOSC;
45

56
public interface IOscListener
67
{
78
public Task<OscMessage> ReceiveMessageAsync();
9+
10+
public Task<(OscMessage Message, IPEndPoint EndPoint)> ReceiveMessageExAsync();
11+
812
public Task<OscBundle> ReceiveBundleAsync();
9-
}
13+
14+
public Task<(OscBundle Bundle, IPEndPoint EndPoint)> ReceiveBundleExAsync();
15+
}

CoreOSC/IOscSender.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
using System.Threading.Tasks;
1+
using System.Net;
2+
using System.Threading.Tasks;
23

34
namespace LucHeart.CoreOSC;
45

56
public interface IOscSender
67
{
78
public Task SendAsync(byte[] message);
9+
810
public Task SendAsync(IOscPacket packet);
11+
12+
public Task SendAsync(IPEndPoint endPoint, byte[] message);
13+
14+
public Task SendAsync(IPEndPoint endPoint, IOscPacket packet);
915
}

CoreOSC/OscDuplex.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@ public OscDuplex(IPEndPoint listenerEndpoint, IPEndPoint remoteEndpoint) : base(
1111
{
1212
_remoteEndPoint = remoteEndpoint;
1313
}
14-
14+
1515
public Task SendAsync(byte[] message) => UdpClient.SendAsync(message, message.Length, _remoteEndPoint);
16+
1617
public Task SendAsync(IOscPacket packet) => SendAsync(packet.GetBytes());
17-
18+
19+
public Task SendAsync(IPEndPoint endPoint, byte[] message) => UdpClient.SendAsync(message, message.Length, endPoint);
20+
21+
public Task SendAsync(IPEndPoint endPoint, IOscPacket packet) => SendAsync(endPoint, packet.GetBytes());
1822
}

0 commit comments

Comments
 (0)