diff --git a/.github/workflows/cd_standard.yaml b/.github/workflows/cd_standard.yaml
index be8f7a124..97c47a81b 100644
--- a/.github/workflows/cd_standard.yaml
+++ b/.github/workflows/cd_standard.yaml
@@ -14,7 +14,7 @@ concurrency:
cancel-in-progress: true
env:
- OpenDdsVersion: "3.25"
+ OpenDdsVersion: "3.28.1"
jobs:
build_windows_native:
@@ -76,6 +76,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/**/*.idl
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/**/*.pidl
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-${{ matrix.BuildConfiguration }}-win-${{ matrix.BuildPlatform }}-cd
- name: Build Native (No cached)
@@ -99,6 +101,8 @@ jobs:
XCOPY ".\README.md" "$targetDir\" /D /S /Y /M
XCOPY ".\ext\OpenDDS_${{ matrix.BuildPlatform }}\dds\idl\IDLTemplate.txt" "$targetDir\OpenDDS_${{ matrix.BuildPlatform }}\dds\idl\" /D /S /Y /M
XCOPY ".\ext\OpenDDS_${{ matrix.BuildPlatform }}\VERSION.txt" "$targetDir\OpenDDS_${{ matrix.BuildPlatform }}\" /D /S /Y /M
+ XCOPY ".\ext\OpenDDS_${{ matrix.BuildPlatform }}\ACE_wrappers\VERSION.txt" "$targetDir\OpenDDS_${{ matrix.BuildPlatform }}\ACE_wrappers\" /D /S /Y /M
+ XCOPY ".\ext\OpenDDS_${{ matrix.BuildPlatform }}\ACE_wrappers\TAO\VERSION.txt" "$targetDir\OpenDDS_${{ matrix.BuildPlatform }}\ACE_wrappers\" /D /S /Y /M
XCOPY ".\Native\build_${{ matrix.BuildPlatform }}\OpenDDSWrapper\Release\OpenDDSWrapper.dll" "$targetDir\Native\build_${{ matrix.BuildPlatform }}\OpenDDSWrapper\Release\" /D /S /Y /M
XCOPY ".\Native\build_${{ matrix.BuildPlatform }}\OpenDDSharp.IdlGenerator\Release\openddsharp_idl.exe" "$targetDir\Native\build_${{ matrix.BuildPlatform }}\OpenDDSharp.IdlGenerator\Release\" /D /S /Y /M
@@ -130,7 +134,7 @@ jobs:
path: ${{ github.workspace }}/opendds-native-win-${{ matrix.BuildPlatform }}.zip
build_linux_native:
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04
env:
BuildPlatform: "x64"
@@ -188,6 +192,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_Linux/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-linux-${{ env.BuildPlatform }}-cd
- name: Build Native (No cached)
@@ -231,6 +237,8 @@ jobs:
rsync -r -m -v -L --include='tools/repoctl/repoctl' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/apps/gperf/src/ace_gperf' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/TAO/TAO_IDL/tao_idl' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/TAO/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v --include='README.md' --include='*/' --exclude='*' ./ $targetDir
rsync -r -m -v --include='Native/build_Linux/OpenDDSWrapper/libOpenDDSWrapper.so' --include='*/' --exclude='*' ./ $targetDir
@@ -307,6 +315,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_osx-x64/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-osx-${{ env.BuildPlatform }}-cd
- name: Build Native (No cached)
@@ -351,6 +361,8 @@ jobs:
rsync -r -m -v -L --include='tools/repoctl/repoctl' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/apps/gperf/src/ace_gperf' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/TAO/TAO_IDL/tao_idl' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/TAO/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v --include='README.md' --include='*/' --exclude='*' ./ $targetDir
rsync -r -m -v --include='Native/build_osx-x64/OpenDDSWrapper/libOpenDDSWrapper.dylib' --include='*/' --exclude='*' ./ $targetDir
@@ -427,6 +439,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_osx-arm64/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-osx-${{ env.BuildPlatform }}-cd
- name: Build Native (No cached)
@@ -471,6 +485,8 @@ jobs:
rsync -r -m -v -L --include='tools/repoctl/repoctl' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/apps/gperf/src/ace_gperf' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v -L --include='ACE_wrappers/TAO/TAO_IDL/tao_idl' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
+ rsync -r -m -v -L --include='ACE_wrappers/TAO/VERSION.txt' --include='*/' --exclude='*' $sourceDir $targetDir
rsync -r -m -v --include='README.md' --include='*/' --exclude='*' ./ $targetDir
rsync -r -m -v --include='Native/build_osx-arm64/OpenDDSWrapper/libOpenDDSWrapper.dylib' --include='*/' --exclude='*' ./ $targetDir
@@ -646,7 +662,9 @@ jobs:
runtime: win-x86
- os: windows-latest
runtime: win-x64
- - os: ubuntu-latest
+ - os: ubuntu-20.04
+ runtime: linux-x64
+ - os: ubuntu-22.04
runtime: linux-x64
- os: macos-13
runtime: osx-x64
diff --git a/.github/workflows/ci_standard.yaml b/.github/workflows/ci_standard.yaml
index 9e714eca5..a204a8295 100644
--- a/.github/workflows/ci_standard.yaml
+++ b/.github/workflows/ci_standard.yaml
@@ -22,26 +22,16 @@ jobs:
fail-fast: false
matrix:
BuildPlatform: [x64, x86]
- BuildConfiguration: [Release, Debug]
+ BuildConfiguration: [Release]
env:
- OpenDdsVersion: "3.25"
+ OpenDdsVersion: "3.28.1"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
-# - name: Setup dotnet 8.0
-# uses: actions/setup-dotnet@v4
-# with:
-# dotnet-version: '8.0.x'
-#
-# - name: Setup dotnet 6.0
-# uses: actions/setup-dotnet@v4
-# with:
-# dotnet-version: '6.0.x'
-
- name: Setup dotnet 6.0
shell: pwsh
run: |
@@ -81,6 +71,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/**/*.idl
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/**/*.pidl
${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_${{ matrix.BuildPlatform }}/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-${{ matrix.BuildConfiguration }}-win-${{ matrix.BuildPlatform }}-ci
- name: Build & Test with Cake (No cached)
@@ -100,7 +92,7 @@ jobs:
if: success() || failure()
with:
name: "Test Report: win-${{ matrix.BuildPlatform }} ${{ matrix.BuildConfiguration }}"
- path: TestResults/netcoreapp3.1/test-results.trx,TestResults/net5.0/test-results.trx,TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net461/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
+ path: TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
reporter: dotnet-trx
- name: Get path to lcov file
@@ -119,10 +111,10 @@ jobs:
fail-on-error: false
build_linux:
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04
env:
- OpenDdsVersion: "3.25"
+ OpenDdsVersion: "3.28.1"
BuildPlatform: "x64"
BuildConfiguration: "Release"
LD_RPATH_FLAGS: "-Wl,-rpath='$ORIGIN'"
@@ -165,6 +157,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_Linux/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_Linux/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-linux-${{ env.BuildPlatform }}-ci
- name: Build Native (No cached)
@@ -214,7 +208,7 @@ jobs:
- name: Test OpenDDSharp
shell: bash
- run: dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity detailed --configuration ${{ env.BuildConfiguration }} --runtime linux-x64 --collect "XPlat code coverage" --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed""console;verbosity=detailed" --settings ${{ github.workspace }}/Tests.runsettings --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.0/build/netstandard1.0/"
+ run: dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity detailed --configuration ${{ env.BuildConfiguration }} --runtime linux-x64 --collect "XPlat code coverage" --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed""console;verbosity=detailed" --settings ${{ github.workspace }}/Tests.runsettings --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.2/build/netstandard2.0/"
working-directory: ${{ github.workspace }}
env:
DDS_ROOT: "${{ github.workspace }}/ext/OpenDDS_Linux"
@@ -227,7 +221,7 @@ jobs:
if: success() || failure()
with:
name: "Test Report: linux-x64"
- path: TestResults/netcoreapp3.1/test-results.trx,TestResults/net5.0/test-results.trx,TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net461/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
+ path: TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
reporter: dotnet-trx
- name: Get path to lcov file
@@ -249,7 +243,7 @@ jobs:
runs-on: macos-13
env:
- OpenDdsVersion: "3.25"
+ OpenDdsVersion: "3.28.1"
BuildPlatform: "x64"
BuildConfiguration: "Release"
LD_RPATH_FLAGS: "-Wl,-rpath,@executable_path -Wl,-rpath,@loader_path"
@@ -292,6 +286,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_osx-x64/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_osx-x64/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-osx-${{ env.BuildPlatform }}-ci
- name: Build Native (No cached)
@@ -341,7 +337,7 @@ jobs:
- name: Test OpenDDSharp
shell: bash
- run: sudo dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity diagnostic --configuration ${{ env.BuildConfiguration }} --runtime osx-x64 --collect "XPlat code coverage" --settings ${{ github.workspace }}/Tests.runsettings --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed" --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.0/build/netstandard1.0/"
+ run: sudo dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity diagnostic --configuration ${{ env.BuildConfiguration }} --runtime osx-x64 --collect "XPlat code coverage" --settings ${{ github.workspace }}/Tests.runsettings --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed" --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.2/build/netstandard2.0/"
working-directory: ${{ github.workspace }}
env:
DDS_ROOT: "${{ github.workspace }}/ext/OpenDDS_osx-x64"
@@ -354,7 +350,7 @@ jobs:
if: success() || failure()
with:
name: "Test Report: osx-x64"
- path: TestResults/netcoreapp3.1/test-results.trx,TestResults/net5.0/test-results.trx,TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net461/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
+ path: TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
reporter: dotnet-trx
- name: Get path to lcov file
@@ -376,7 +372,7 @@ jobs:
runs-on: macos-14
env:
- OpenDdsVersion: "3.25"
+ OpenDdsVersion: "3.28.1"
BuildPlatform: "ARM64"
BuildConfiguration: "Release"
LD_RPATH_FLAGS: "-Wl,-rpath,@executable_path -Wl,-rpath,@loader_path"
@@ -419,6 +415,8 @@ jobs:
${{ github.workspace }}/ext/OpenDDS_osx-arm64/dds/idl/opendds_idl
${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/apps/gperf/src/ace_gperf
${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/TAO/TAO_IDL/tao_idl
+ ${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/VERSION.txt
+ ${{ github.workspace }}/ext/OpenDDS_osx-arm64/ACE_wrappers/TAO/VERSION.txt
key: opendds-cache-${{ env.OpenDdsVersion }}-osx-${{ env.BuildPlatform }}-ci
- name: Build Native (No cached)
@@ -468,7 +466,7 @@ jobs:
- name: Test OpenDDSharp
shell: bash
- run: sudo dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity diagnostic --configuration ${{ env.BuildConfiguration }} --runtime osx-arm64 --collect "XPlat code coverage" --settings ${{ github.workspace }}/Tests.runsettings --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed" --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.0/build/netstandard1.0/"
+ run: sudo dotnet test ${{ github.workspace }}/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj --no-build --no-restore --verbosity diagnostic --configuration ${{ env.BuildConfiguration }} --runtime osx-arm64 --collect "XPlat code coverage" --settings ${{ github.workspace }}/Tests.runsettings --logger "trx;LogFileName=test-results.trx" --logger "console;verbosity=detailed" --test-adapter-path "${{ github.workspace }}/packages/coverlet.collector/6.0.2/build/netstandard2.0/"
working-directory: ${{ github.workspace }}
env:
DDS_ROOT: "${{ github.workspace }}/ext/OpenDDS_osx-arm64"
@@ -481,7 +479,7 @@ jobs:
if: success() || failure()
with:
name: "Test Report: osx-arm64"
- path: TestResults/netcoreapp3.1/test-results.trx,TestResults/net5.0/test-results.trx,TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx,TestResults/net461/test-results.trx,TestResults/net462/test-results.trx,TestResults/net47/test-results.trx,TestResults/net471/test-results.trx,TestResults/net472/test-results.trx,TestResults/net48/test-results.trx
+ path: TestResults/net6.0/test-results.trx,TestResults/net7.0/test-results.trx,TestResults/net8.0/test-results.trx
reporter: dotnet-trx
- name: Get path to lcov file
@@ -508,6 +506,6 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
- carryforward: coverage-windows-x64-Release,coverage-windows-x64-Debug,coverage-windows-x86-Release,coverage-windows-x86-Debug,coverage-linux-x64-Release,coverage-macos-x64-Release,coverage-macos-arm64-Release
+ carryforward: coverage-windows-x64-Release,coverage-windows-x86-Release,coverage-linux-x64-Release,coverage-macos-x64-Release,coverage-macos-arm64-Release
fail-on-error: false
diff --git a/Build/OpenDDSharp.Build/BuildContext.cs b/Build/OpenDDSharp.Build/BuildContext.cs
index 865c7bd95..a12f63361 100644
--- a/Build/OpenDDSharp.Build/BuildContext.cs
+++ b/Build/OpenDDSharp.Build/BuildContext.cs
@@ -32,7 +32,7 @@ namespace OpenDDSharp.Build
public class BuildContext : FrostingContext
{
#region Constants
- internal const string DEFAULT_OPENDDS_VERSION = "3.25";
+ internal const string DEFAULT_OPENDDS_VERSION = "3.28.1";
private const string DEFAULT_PERL_FOLDER = "C:/Strawberry/perl/bin";
diff --git a/Build/OpenDDSharp.Build/OpenDDSharp.Build.csproj b/Build/OpenDDSharp.Build/OpenDDSharp.Build.csproj
index 7090fed3c..a439a8bdd 100644
--- a/Build/OpenDDSharp.Build/OpenDDSharp.Build.csproj
+++ b/Build/OpenDDSharp.Build/OpenDDSharp.Build.csproj
@@ -24,7 +24,7 @@
-
+
all
@@ -35,11 +35,11 @@
all
-
+
all
-
+
all
diff --git a/Build/OpenDDSharp.Build/Tasks/PrepareLinuxLibraries.cs b/Build/OpenDDSharp.Build/Tasks/PrepareLinuxLibraries.cs
index bfaabec08..7edafd121 100644
--- a/Build/OpenDDSharp.Build/Tasks/PrepareLinuxLibraries.cs
+++ b/Build/OpenDDSharp.Build/Tasks/PrepareLinuxLibraries.cs
@@ -29,9 +29,9 @@ namespace OpenDDSharp.Build.Tasks
[TaskName("PrepareLinuxLibraries")]
public class PrepareLinuxLibraries : FrostingTask
{
- private const string OPENDDS_VERSION = "3.25.0";
- private const string ACE_VERSION = "7.1.1";
- private const string TAO_VERSION = "3.1.1";
+ private const string OPENDDS_VERSION = "3.28.1";
+ private const string ACE_VERSION = "7.1.3";
+ private const string TAO_VERSION = "3.1.3";
private readonly string[] _aceLibraries =
{
diff --git a/Build/OpenDDSharp.Build/Tasks/SetupThirdPartyTask.cs b/Build/OpenDDSharp.Build/Tasks/SetupThirdPartyTask.cs
index e934e7bdc..f30495cb4 100644
--- a/Build/OpenDDSharp.Build/Tasks/SetupThirdPartyTask.cs
+++ b/Build/OpenDDSharp.Build/Tasks/SetupThirdPartyTask.cs
@@ -87,6 +87,33 @@ public override void Run(BuildContext context)
Git(context, "fetch --tags");
Git(context, $"checkout tags/{_versionTag}");
+ context.Log.Information("Apply required OpenDDSharp patches to OpenDDS...");
+ if (!Directory.Exists(BuildContext.PATCHES_FOLDER))
+ {
+ return;
+ }
+ var patches = Directory.EnumerateFiles(BuildContext.PATCHES_FOLDER, "*.patch");
+ var patchPaths = patches as string[] ?? patches.ToArray();
+ if (!patchPaths.Any())
+ {
+ return;
+ }
+ foreach (var patchPath in patchPaths)
+ {
+ var patchDirectory = new DirectoryPath(patchPath);
+ if (BuildContext.IsLinux)
+ {
+ var linuxPath = System.IO.Path.GetFullPath(patchDirectory.FullPath);
+
+ context.Log.Information($"Apply {linuxPath} in {context.DdsRoot}...");
+ Git(context, "apply --whitespace=fix --ignore-space-change --ignore-whitespace " + linuxPath);
+ }
+ else
+ {
+ Git(context, "apply " + patchDirectory.FullPath);
+ }
+ }
+
context.Log.Information("Call OpenDDS configure script");
if (BuildContext.IsLinux || BuildContext.IsOSX)
@@ -143,23 +170,6 @@ public override void Run(BuildContext context)
throw new BuildException($"Error calling the OpenDDS configure script. Exit code: {exit}");
}
}
-
- context.Log.Information("Apply required OpenDDSharp patches to OpenDDS...");
- foreach (var patchPath in Directory.GetFiles(BuildContext.PATCHES_FOLDER, "*.patch"))
- {
- var patchDirectory = new DirectoryPath(patchPath);
- if (BuildContext.IsLinux)
- {
- var linuxPath = System.IO.Path.GetFullPath(patchDirectory.FullPath);
-
- context.Log.Information($"Apply {linuxPath} in {context.DdsRoot}...");
- Git(context, "apply --whitespace=fix --ignore-space-change --ignore-whitespace " + linuxPath);
- }
- else
- {
- Git(context, "apply " + patchDirectory.FullPath);
- }
- }
}
private static void DeleteDirectory(string directoryPath)
diff --git a/Build/OpenDDSharp.Build/Tasks/TestTask.cs b/Build/OpenDDSharp.Build/Tasks/TestTask.cs
index 1f835e6d0..d7fd439ff 100644
--- a/Build/OpenDDSharp.Build/Tasks/TestTask.cs
+++ b/Build/OpenDDSharp.Build/Tasks/TestTask.cs
@@ -20,7 +20,6 @@ You should have received a copy of the GNU Lesser General Public License
using Cake.Common.Tools.DotNet;
using Cake.Common.Tools.DotNet.Test;
-using Cake.Core;
using Cake.Core.Diagnostics;
using Cake.Frosting;
using Path = System.IO.Path;
@@ -41,7 +40,7 @@ public override void Run(BuildContext context)
var solutionFullPath = Path.GetFullPath(BuildContext.OPENDDSHARP_SOLUTION_FOLDER);
var path = Path.Combine(solutionFullPath, $"Tests/OpenDDSharp.UnitTest/bin/{context.BuildConfiguration}/net6.0/{context.RunTime}");
context.Log.Information($"Unit test path: {path}");
- var testAdapterPath = Path.Combine(BuildContext.OPENDDSHARP_SOLUTION_FOLDER, "packages/coverlet.collector/6.0.0/build/netstandard1.0");
+ var testAdapterPath = Path.Combine(BuildContext.OPENDDSHARP_SOLUTION_FOLDER, "packages/coverlet.collector/6.0.2/build/netstandard2.0");
var settingsFile = Path.Combine(solutionFullPath, "Tests.runsettings");
context.Log.Information($"Settings file: {settingsFile}");
@@ -63,8 +62,7 @@ public override void Run(BuildContext context)
Verbosity = DotNetVerbosity.Detailed,
Configuration = context.BuildConfiguration,
Loggers = { "trx;LogFileName=test-results.trx", "console;verbosity=detailed" },
- Blame = true,
- ArgumentCustomization = arg => arg.Append("--blame-hang --blame-hang-timeout 2m"),
+ Collectors = { "XPlat Code Coverage" },
};
context.DotNetTest(solutionFullPath + "/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj", dotnetTestSettings);
diff --git a/Documentation/index.md b/Documentation/index.md
index 5b1097802..ed4488176 100644
--- a/Documentation/index.md
+++ b/Documentation/index.md
@@ -11,7 +11,7 @@ publish and subscribe model.
OpenDDS Website: [https://www.opendds.org](https://www.opendds.org)
OpenDDS Repository: [https://github.com/OpenDDS/OpenDDS](https://github.com/OpenDDS/OpenDDS)
-OpenDDSharp has been compiled with OpenDDS v3.25
+OpenDDSharp has been compiled with OpenDDS v3.28.1
| Package | NuGet |
|---------|-------|
diff --git a/Examples/ConsoleDemoCore/ConsoleDemoCore.csproj b/Examples/ConsoleDemoCore/ConsoleDemoCore.csproj
index 353ebde6e..fb6efd501 100644
--- a/Examples/ConsoleDemoCore/ConsoleDemoCore.csproj
+++ b/Examples/ConsoleDemoCore/ConsoleDemoCore.csproj
@@ -15,7 +15,7 @@
-
+
all
@@ -26,11 +26,11 @@
all
-
+
all
-
+
all
diff --git a/GitVersion.yml b/GitVersion.yml
index 9b5056162..64a697340 100644
--- a/GitVersion.yml
+++ b/GitVersion.yml
@@ -1,4 +1,4 @@
-next-version: "3.250.3"
+next-version: "3.281.1"
mode: ContinuousDeployment
update-build-number: true
tag-prefix: '(release-)?[vV]'
diff --git a/Native/CMakeListsTemplate.txt b/Native/CMakeListsTemplate.txt
index b907e4d2e..c809b741b 100644
--- a/Native/CMakeListsTemplate.txt
+++ b/Native/CMakeListsTemplate.txt
@@ -3,6 +3,10 @@ project(${PROJECT_NAME} CXX)
find_package(OpenDDS REQUIRED)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
if(MSVC)
add_compile_options(/bigobj)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
@@ -10,7 +14,6 @@ if(MSVC)
endif()
if(APPLE)
- set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
elseif(UNIX)
diff --git a/Native/OpenDDSWrapper/CMakeLists.txt b/Native/OpenDDSWrapper/CMakeLists.txt
index a7b910b98..29ce6947a 100644
--- a/Native/OpenDDSWrapper/CMakeLists.txt
+++ b/Native/OpenDDSWrapper/CMakeLists.txt
@@ -2,8 +2,11 @@ cmake_minimum_required(VERSION 3.8.2)
project(OpenDDSWrapper CXX)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
if (APPLE)
- set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
elseif (UNIX)
diff --git a/Native/OpenDDSWrapper/InfoRepoDiscovery.cpp b/Native/OpenDDSWrapper/InfoRepoDiscovery.cpp
index 91c63791b..d3926192f 100644
--- a/Native/OpenDDSWrapper/InfoRepoDiscovery.cpp
+++ b/Native/OpenDDSWrapper/InfoRepoDiscovery.cpp
@@ -24,7 +24,9 @@ ::OpenDDS::DCPS::Discovery *InfoRepoDiscovery_NarrowBase(::OpenDDS::DCPS::InfoRe
}
::OpenDDS::DCPS::InfoRepoDiscovery *InfoRepoDiscovery_new(const char *key, const char *ior) {
- return new ::OpenDDS::DCPS::InfoRepoDiscovery(key, ior);
+ ::OpenDDS::DCPS::InfoRepoDiscovery* infoRepo = new ::OpenDDS::DCPS::InfoRepoDiscovery(key);
+ TheServiceParticipant->set_repo_ior(ior, key, false);
+ return infoRepo;
}
CORBA::Long InfoRepoDiscovery_GetBitTransportPort(::OpenDDS::DCPS::InfoRepoDiscovery *idr) {
diff --git a/Native/OpenDDSWrapper/MulticastInst.cpp b/Native/OpenDDSWrapper/MulticastInst.cpp
index 2f419bbe0..7f508c151 100644
--- a/Native/OpenDDSWrapper/MulticastInst.cpp
+++ b/Native/OpenDDSWrapper/MulticastInst.cpp
@@ -33,58 +33,64 @@ CORBA::Boolean MulticastInst_GetIsReliable(::OpenDDS::DCPS::MulticastInst *mi) {
}
CORBA::Boolean MulticastInst_GetReliable(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->reliable_;
+ return mi->reliable();
}
void MulticastInst_SetReliable(::OpenDDS::DCPS::MulticastInst *mi, CORBA::Boolean value) {
- mi->reliable_ = value;
+ mi->reliable(value);
}
CORBA::Boolean MulticastInst_GetDefaultToIpv6(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->default_to_ipv6_;
+ return mi->default_to_ipv6();
}
void MulticastInst_SetDefaultToIpv6(::OpenDDS::DCPS::MulticastInst *mi, CORBA::Boolean value) {
- mi->default_to_ipv6_ = value;
+ mi->default_to_ipv6(value);
}
CORBA::UShort MulticastInst_GetPortOffset(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->port_offset_;
+ return mi->port_offset();
}
void MulticastInst_SetPortOffset(::OpenDDS::DCPS::MulticastInst *mi, CORBA::UShort value) {
- mi->port_offset_ = value;
+ mi->port_offset(value);
}
char *MulticastInst_GetGroupAddress(::OpenDDS::DCPS::MulticastInst *mi) {
- char *buffer = new char[512];
- mi->group_address_.addr_to_string(buffer, 512);
-
- return CORBA::string_dup(buffer);
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(mi->group_address()).str();
+ if (addr_str.empty()) {
+ return CORBA::string_dup("");
+ }
+ return CORBA::string_dup(addr_str.c_str());
}
void MulticastInst_SetGroupAddress(::OpenDDS::DCPS::MulticastInst *mi, char *value) {
- mi->group_address_.set(value);
+ const ::OpenDDS::DCPS::NetworkAddress addr_obj(value);
+ mi->group_address(addr_obj);
}
char *MulticastInst_GetLocalAddress(::OpenDDS::DCPS::MulticastInst *mi) {
- return CORBA::string_dup(mi->local_address_.c_str());
+ const char * addr = CORBA::string_dup(mi->local_address().c_str());
+ if (addr == NULL) {
+ return CORBA::string_dup("");
+ }
+ return CORBA::string_dup(addr);
}
void MulticastInst_SetLocalAddress(::OpenDDS::DCPS::MulticastInst *mi, char *value) {
- mi->local_address_ = value;
+ mi->local_address(value);
}
CORBA::Double MulticastInst_GetSynBackoff(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->syn_backoff_;
+ return mi->syn_backoff();
}
void MulticastInst_SetSynBackoff(::OpenDDS::DCPS::MulticastInst *mi, CORBA::Double value) {
- mi->syn_backoff_ = value;
+ mi->syn_backoff(value);
}
TimeValueWrapper MulticastInst_GetSynInterval(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->syn_interval_;
+ return mi->syn_interval_.get();
}
void MulticastInst_SetSynInterval(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWrapper value) {
@@ -92,7 +98,7 @@ void MulticastInst_SetSynInterval(::OpenDDS::DCPS::MulticastInst *mi, TimeValueW
}
TimeValueWrapper MulticastInst_GetSynTimeout(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->syn_timeout_;
+ return mi->syn_timeout_.get();
}
void MulticastInst_SetSynTimeout(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWrapper value) {
@@ -100,7 +106,7 @@ void MulticastInst_SetSynTimeout(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWr
}
size_t MulticastInst_GetNakDepth(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->nak_depth_;
+ return mi->nak_depth_.get();
}
void MulticastInst_SetNakDepth(::OpenDDS::DCPS::MulticastInst *mi, size_t value) {
@@ -108,7 +114,7 @@ void MulticastInst_SetNakDepth(::OpenDDS::DCPS::MulticastInst *mi, size_t value)
}
TimeValueWrapper MulticastInst_GetNakInterval(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->nak_interval_;
+ return mi->nak_interval_.get();
}
void MulticastInst_SetNakInterval(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWrapper value) {
@@ -116,7 +122,7 @@ void MulticastInst_SetNakInterval(::OpenDDS::DCPS::MulticastInst *mi, TimeValueW
}
size_t MulticastInst_GetNakDelayIntervals(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->nak_delay_intervals_;
+ return mi->nak_delay_intervals_.get();
}
void MulticastInst_SetNakDelayIntervals(::OpenDDS::DCPS::MulticastInst *mi, size_t value) {
@@ -124,7 +130,7 @@ void MulticastInst_SetNakDelayIntervals(::OpenDDS::DCPS::MulticastInst *mi, size
}
size_t MulticastInst_GetNakMax(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->nak_max_;
+ return mi->nak_max_.get();
}
void MulticastInst_SetNakMax(::OpenDDS::DCPS::MulticastInst *mi, size_t value) {
@@ -132,7 +138,7 @@ void MulticastInst_SetNakMax(::OpenDDS::DCPS::MulticastInst *mi, size_t value) {
}
TimeValueWrapper MulticastInst_GetNakTimeout(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->nak_timeout_;
+ return mi->nak_timeout_.get();
}
void MulticastInst_SetNakTimeout(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWrapper value) {
@@ -140,7 +146,7 @@ void MulticastInst_SetNakTimeout(::OpenDDS::DCPS::MulticastInst *mi, TimeValueWr
}
CORBA::Octet MulticastInst_GetTtl(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->ttl_;
+ return mi->ttl_.get();
}
void MulticastInst_SetTtl(::OpenDDS::DCPS::MulticastInst *mi, CORBA::Octet value) {
@@ -148,7 +154,7 @@ void MulticastInst_SetTtl(::OpenDDS::DCPS::MulticastInst *mi, CORBA::Octet value
}
size_t MulticastInst_GetRcvBufferSize(::OpenDDS::DCPS::MulticastInst *mi) {
- return mi->rcv_buffer_size_;
+ return mi->rcv_buffer_size_.get();
}
void MulticastInst_SetRcvBufferSize(::OpenDDS::DCPS::MulticastInst *mi, size_t value) {
diff --git a/Native/OpenDDSWrapper/MulticastInst.h b/Native/OpenDDSWrapper/MulticastInst.h
index c07783f57..56f3c5bb7 100644
--- a/Native/OpenDDSWrapper/MulticastInst.h
+++ b/Native/OpenDDSWrapper/MulticastInst.h
@@ -26,6 +26,7 @@ along with OpenDDSharp. If not, see .
#include
#include
#include
+#include
EXTERN_METHOD_EXPORT
::OpenDDS::DCPS::MulticastInst *MulticastInst_new(::OpenDDS::DCPS::TransportInst *inst);
diff --git a/Native/OpenDDSWrapper/RtpsDiscovery.cpp b/Native/OpenDDSWrapper/RtpsDiscovery.cpp
index 106cfe48e..3b2cda0ae 100644
--- a/Native/OpenDDSWrapper/RtpsDiscovery.cpp
+++ b/Native/OpenDDSWrapper/RtpsDiscovery.cpp
@@ -92,38 +92,30 @@ void RtpsDiscovery_SetTtl(::OpenDDS::RTPS::RtpsDiscovery *d, CORBA::Octet value)
}
char *RtpsDiscovery_GetSedpLocalAddress(::OpenDDS::RTPS::RtpsDiscovery *d) {
- char *buffer = new char[1024];
-
- if (d->sedp_local_address().addr_to_string(buffer, 1024) < 0) {
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(d->sedp_local_address()).str();
+ if (addr_str.empty()) {
return CORBA::string_dup("");
}
- std::string ret = CORBA::string_dup(buffer);
- delete[] buffer;
-
- return CORBA::string_dup(ret.c_str());
+ return CORBA::string_dup(addr_str.c_str());
}
void RtpsDiscovery_SetSedpLocalAddress(::OpenDDS::RTPS::RtpsDiscovery *d, char *value) {
- const ACE_INET_Addr addr = static_cast(value);
+ const ::OpenDDS::DCPS::NetworkAddress addr(value);
d->sedp_local_address(addr);
}
char *RtpsDiscovery_GetSpdpLocalAddress(::OpenDDS::RTPS::RtpsDiscovery *d) {
- char *buffer = new char[1024];
-
- if (d->spdp_local_address().addr_to_string(buffer, 1024) < 0) {
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(d->spdp_local_address()).str();
+ if (addr_str.empty()) {
return CORBA::string_dup("");
}
- std::string ret = CORBA::string_dup(buffer);
- delete[] buffer;
-
- return CORBA::string_dup(ret.c_str());
+ return CORBA::string_dup(addr_str.c_str());
}
void RtpsDiscovery_SetSpdpLocalAddress(::OpenDDS::RTPS::RtpsDiscovery *d, char *value) {
- const ACE_INET_Addr addr = static_cast(value);
+ const ::OpenDDS::DCPS::NetworkAddress addr(value);
d->spdp_local_address(addr);
}
@@ -143,33 +135,29 @@ void RtpsDiscovery_SetMulticastInterface(::OpenDDS::RTPS::RtpsDiscovery *d, char
d->multicast_interface(value);
}
-char *RtpsDiscovery_GetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d) {
- char *buffer = new char[1024];
-
- if (d->default_multicast_group().addr_to_string(buffer, 1024) < 0) {
+char *RtpsDiscovery_GetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d, int domain_id) {
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(d->default_multicast_group(domain_id)).str();
+ if (addr_str.empty()) {
return CORBA::string_dup("");
}
- std::string ret = CORBA::string_dup(buffer);
- delete[] buffer;
-
- return CORBA::string_dup(ret.c_str());
+ return CORBA::string_dup(addr_str.c_str());
}
void RtpsDiscovery_SetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d, char *value) {
- const ACE_INET_Addr addr = static_cast(value);
+ const ::OpenDDS::DCPS::NetworkAddress addr(value);
d->default_multicast_group(addr);
}
void *RtpsDiscovery_GetSpdpSendAddrs(::OpenDDS::RTPS::RtpsDiscovery *d) {
- std::vector addrs = d->spdp_send_addrs();
+ ::OpenDDS::DCPS::NetworkAddressSet addrs = d->spdp_send_addrs();
size_t size = addrs.size();
TAO::unbounded_basic_string_sequence seq(static_cast(size));
int i = 0;
for (auto inst = addrs.begin(); inst != addrs.end(); ++inst) {
- seq[i] = inst->c_str();
+ seq[i] = ::OpenDDS::DCPS::LogAddr(inst->to_addr()).c_str();
i++;
}
diff --git a/Native/OpenDDSWrapper/RtpsDiscovery.h b/Native/OpenDDSWrapper/RtpsDiscovery.h
index 59c7c25b5..720c3f356 100644
--- a/Native/OpenDDSWrapper/RtpsDiscovery.h
+++ b/Native/OpenDDSWrapper/RtpsDiscovery.h
@@ -25,6 +25,7 @@ along with OpenDDSharp. If not, see .
#include
#include
+#include
#include
EXTERN_METHOD_EXPORT
@@ -106,7 +107,7 @@ EXTERN_METHOD_EXPORT
void RtpsDiscovery_SetMulticastInterface(::OpenDDS::RTPS::RtpsDiscovery *d, char *value);
EXTERN_METHOD_EXPORT
-char *RtpsDiscovery_GetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d);
+char *RtpsDiscovery_GetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d, int domain_id);
EXTERN_METHOD_EXPORT
void RtpsDiscovery_SetDefaultMulticastGroup(::OpenDDS::RTPS::RtpsDiscovery *d, char *value);
diff --git a/Native/OpenDDSWrapper/RtpsUdpInst.cpp b/Native/OpenDDSWrapper/RtpsUdpInst.cpp
index 2cedb1268..eacee4076 100644
--- a/Native/OpenDDSWrapper/RtpsUdpInst.cpp
+++ b/Native/OpenDDSWrapper/RtpsUdpInst.cpp
@@ -37,97 +37,100 @@ CORBA::Boolean RtpsUdpInst_GetRequiresCdr(::OpenDDS::DCPS::RtpsUdpInst *ri) {
}
CORBA::Int32 RtpsUdpInst_GetSendBufferSize(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->send_buffer_size_;
+ return ri->send_buffer_size_.get();
}
void RtpsUdpInst_SetSendBufferSize(::OpenDDS::DCPS::RtpsUdpInst *ri, CORBA::Int32 value) {
- ri->send_buffer_size_ = value;
+ ri->send_buffer_size(value);
}
CORBA::Int32 RtpsUdpInst_GetRcvBufferSize(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->rcv_buffer_size_;
+ return ri->rcv_buffer_size();
}
void RtpsUdpInst_SetRcvBufferSize(::OpenDDS::DCPS::RtpsUdpInst *ri, CORBA::Int32 value) {
- ri->rcv_buffer_size_ = value;
+ ri->rcv_buffer_size(value);
}
size_t RtpsUdpInst_GetNakDepth(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->nak_depth_;
+ return ri->nak_depth();
}
void RtpsUdpInst_SetNakDepth(::OpenDDS::DCPS::RtpsUdpInst *ri, size_t value) {
- ri->nak_depth_ = value;
+ ri->nak_depth(value);
}
CORBA::Boolean RtpsUdpInst_GetUseMulticast(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->use_multicast_;
+ return ri->use_multicast();
}
void RtpsUdpInst_SetUseMulticast(::OpenDDS::DCPS::RtpsUdpInst *ri, CORBA::Boolean value) {
- ri->use_multicast_ = value;
+ ri->use_multicast(value);
}
CORBA::Octet RtpsUdpInst_GetTtl(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->ttl_;
+ return ri->ttl();
}
void RtpsUdpInst_SetTtl(::OpenDDS::DCPS::RtpsUdpInst *ri, CORBA::Octet value) {
- ri->ttl_ = value;
+ ri->ttl(value);
}
-char *RtpsUdpInst_GetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- char *buffer = new char[512];
- ri->multicast_group_address().to_addr().addr_to_string(buffer, 512);
+char *RtpsUdpInst_GetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri, int domain_id) {
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(ri->multicast_group_address(domain_id)).str();
+ if (addr_str.empty()) {
+ return CORBA::string_dup("");
+ }
- return CORBA::string_dup(buffer);
+ return CORBA::string_dup(addr_str.c_str());
}
void RtpsUdpInst_SetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri, char *value) {
- const OpenDDS::DCPS::NetworkAddress addr = static_cast(value);
+ const OpenDDS::DCPS::NetworkAddress addr(value);
ri->multicast_group_address(addr);
}
char *RtpsUdpInst_GetMulticastInterface(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return CORBA::string_dup(ri->multicast_interface_.c_str());
+ return CORBA::string_dup(ri->multicast_interface().c_str());
}
void RtpsUdpInst_SetMulticastInterface(::OpenDDS::DCPS::RtpsUdpInst *ri, char *value) {
- ri->multicast_interface_ = value;
+ ri->multicast_interface(value);
}
char *RtpsUdpInst_GetLocalAddress(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- char *buffer = new char[512];
- ri->local_address().to_addr().addr_to_string(buffer, 512);
-
- return CORBA::string_dup(buffer);
+ const std::string addr_str = ::OpenDDS::DCPS::LogAddr(ri->local_address()).str();
+ if (addr_str.empty()) {
+ return CORBA::string_dup("");
+ }
+ return CORBA::string_dup(addr_str.c_str());
}
void RtpsUdpInst_SetLocalAddress(::OpenDDS::DCPS::RtpsUdpInst *ri, char *value) {
- const OpenDDS::DCPS::NetworkAddress addr = static_cast(value);
+ const OpenDDS::DCPS::NetworkAddress addr(value);
ri->local_address(addr);
}
TimeValueWrapper RtpsUdpInst_GetNakResponseDelay(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->nak_response_delay_;
+ return ri->nak_response_delay();
}
void RtpsUdpInst_SetNakResponseDelay(::OpenDDS::DCPS::RtpsUdpInst *ri, TimeValueWrapper value) {
- ri->nak_response_delay_ = value;
+ ri->nak_response_delay(value);
}
TimeValueWrapper RtpsUdpInst_GetHeartbeatPeriod(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->heartbeat_period_;
+ return ri->heartbeat_period();
}
void RtpsUdpInst_SetHeartbeatPeriod(::OpenDDS::DCPS::RtpsUdpInst *ri, TimeValueWrapper value) {
- ri->heartbeat_period_ = value;
+ ri->heartbeat_period(value);
}
TimeValueWrapper RtpsUdpInst_GetReceiveAddressDuration(::OpenDDS::DCPS::RtpsUdpInst *ri) {
- return ri->receive_address_duration_;
+ return ri->receive_address_duration();
}
void RtpsUdpInst_SetReceiveAddressDuration(::OpenDDS::DCPS::RtpsUdpInst *ri, TimeValueWrapper value) {
- ri->receive_address_duration_ = value;
+ ri->receive_address_duration(value);
}
\ No newline at end of file
diff --git a/Native/OpenDDSWrapper/RtpsUdpInst.h b/Native/OpenDDSWrapper/RtpsUdpInst.h
index 83f1ccb1e..395b6e334 100644
--- a/Native/OpenDDSWrapper/RtpsUdpInst.h
+++ b/Native/OpenDDSWrapper/RtpsUdpInst.h
@@ -26,6 +26,7 @@ along with OpenDDSharp. If not, see .
#include
#include
#include
+#include
EXTERN_METHOD_EXPORT
::OpenDDS::DCPS::RtpsUdpInst *RtpsUdpInst_new(::OpenDDS::DCPS::TransportInst *inst);
@@ -67,7 +68,7 @@ EXTERN_METHOD_EXPORT
void RtpsUdpInst_SetTtl(::OpenDDS::DCPS::RtpsUdpInst *ri, CORBA::Octet value);
EXTERN_METHOD_EXPORT
-char *RtpsUdpInst_GetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri);
+char *RtpsUdpInst_GetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri, int domain_id);
EXTERN_METHOD_EXPORT
void RtpsUdpInst_SetMulticastGroupAddress(::OpenDDS::DCPS::RtpsUdpInst *ri, char *value);
diff --git a/Native/OpenDDSWrapper/ShmemInst.cpp b/Native/OpenDDSWrapper/ShmemInst.cpp
index 4e2e31da9..c90a522db 100644
--- a/Native/OpenDDSWrapper/ShmemInst.cpp
+++ b/Native/OpenDDSWrapper/ShmemInst.cpp
@@ -33,19 +33,19 @@ CORBA::Boolean ShmemInst_GetIsReliable(::OpenDDS::DCPS::ShmemInst *si) {
}
size_t ShmemInst_GetPoolSize(::OpenDDS::DCPS::ShmemInst *si) {
- return si->pool_size_;
+ return si->pool_size();
}
void ShmemInst_SetPoolSize(::OpenDDS::DCPS::ShmemInst *si, size_t value) {
- si->pool_size_ = value;
+ si->pool_size(value);
}
size_t ShmemInst_GetDatalinkControlSize(::OpenDDS::DCPS::ShmemInst *si) {
- return si->datalink_control_size_;
+ return si->datalink_control_size();
}
void ShmemInst_SetDatalinkControlSize(::OpenDDS::DCPS::ShmemInst *si, size_t value) {
- si->datalink_control_size_ = value;
+ si->datalink_control_size(value);
}
char *ShmemInst_GetHostName(::OpenDDS::DCPS::ShmemInst *si) {
diff --git a/Native/OpenDDSWrapper/TcpInst.cpp b/Native/OpenDDSWrapper/TcpInst.cpp
index 96601420e..976f11663 100644
--- a/Native/OpenDDSWrapper/TcpInst.cpp
+++ b/Native/OpenDDSWrapper/TcpInst.cpp
@@ -33,63 +33,63 @@ CORBA::Boolean TcpInst_GetIsReliable(::OpenDDS::DCPS::TcpInst *ti) {
}
CORBA::Boolean TcpInst_GetEnableNagleAlgorithm(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->enable_nagle_algorithm_;
+ return ti->enable_nagle_algorithm();
}
void TcpInst_SetEnableNagleAlgorithm(::OpenDDS::DCPS::TcpInst *ti, CORBA::Boolean value) {
- ti->enable_nagle_algorithm_ = value;
+ ti->enable_nagle_algorithm(value);
}
CORBA::Long TcpInst_GetConnRetryInitialDelay(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->conn_retry_initial_delay_;
+ return ti->conn_retry_initial_delay();
}
void TcpInst_SetConnRetryInitialDelay(::OpenDDS::DCPS::TcpInst *ti, CORBA::Long value) {
- ti->conn_retry_initial_delay_ = value;
+ ti->conn_retry_initial_delay(value);
}
CORBA::Double TcpInst_GetConnRetryBackoffMultiplier(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->conn_retry_backoff_multiplier_;
+ return ti->conn_retry_backoff_multiplier();
}
void TcpInst_SetConnRetryBackoffMultiplier(::OpenDDS::DCPS::TcpInst *ti, CORBA::Double value) {
- ti->conn_retry_backoff_multiplier_ = value;
+ ti->conn_retry_backoff_multiplier(value);
}
CORBA::Long TcpInst_GetConnRetryAttempts(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->conn_retry_attempts_;
+ return ti->conn_retry_attempts();
}
void TcpInst_SetConnRetryAttempts(::OpenDDS::DCPS::TcpInst *ti, CORBA::Long value) {
- ti->conn_retry_attempts_ = value;
+ ti->conn_retry_attempts(value);
}
CORBA::Long TcpInst_GetMaxOutputPausePeriod(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->max_output_pause_period_;
+ return ti->max_output_pause_period();
}
void TcpInst_SetMaxOutputPausePeriod(::OpenDDS::DCPS::TcpInst *ti, CORBA::Long value) {
- ti->max_output_pause_period_ = value;
+ ti->max_output_pause_period(value);
}
CORBA::Long TcpInst_GetPassiveReconnectDuration(::OpenDDS::DCPS::TcpInst *ti) {
- return ti->passive_reconnect_duration_;
+ return ti->passive_reconnect_duration();
}
void TcpInst_SetPassiveReconnectDuration(::OpenDDS::DCPS::TcpInst *ti, CORBA::Long value) {
- ti->passive_reconnect_duration_ = value;
+ ti->passive_reconnect_duration(value);
}
char *TcpInst_GetPublicAddress(::OpenDDS::DCPS::TcpInst *ti) {
- return CORBA::string_dup(ti->get_public_address().c_str());
+ return CORBA::string_dup(ti->pub_address_str().c_str());
}
void TcpInst_SetPublicAddress(::OpenDDS::DCPS::TcpInst *ti, char *value) {
- ti->pub_address_str_ = value;
+ ti->pub_address_str(value);
}
char *TcpInst_GetLocalAddress(::OpenDDS::DCPS::TcpInst *ti) {
- return CORBA::string_dup(ti->local_address_string().c_str());
+ return CORBA::string_dup(ti->local_address().c_str());
}
void TcpInst_SetLocalAddress(::OpenDDS::DCPS::TcpInst *ti, char *value) {
diff --git a/Native/OpenDDSWrapper/TimeValueWrapper.h b/Native/OpenDDSWrapper/TimeValueWrapper.h
index 3714f35ec..43c1edc90 100644
--- a/Native/OpenDDSWrapper/TimeValueWrapper.h
+++ b/Native/OpenDDSWrapper/TimeValueWrapper.h
@@ -19,20 +19,17 @@ along with OpenDDSharp. If not, see .
**********************************************************************/
#pragma once
-#include "Utils.h"
-#include "dds/DCPS/TimeDuration.h"
+#include
-EXTERN_STRUCT_EXPORT TimeValueWrapper {
- ::CORBA::LongLong sec;
- ::CORBA::Long microsec;
+static_assert(true);
+#pragma pack(push)
+#pragma pack(1)
+extern "C" struct TimeValueWrapper {
+ ::CORBA::LongLong sec = 0;
+ ::CORBA::Long microsec = 0;
public:
- TimeValueWrapper() {
- sec = 0;
- microsec = 0;
- }
-
TimeValueWrapper(const ::OpenDDS::DCPS::TimeDuration td) {
sec = td.value().sec();
microsec = td.value().usec();
@@ -42,3 +39,4 @@ EXTERN_STRUCT_EXPORT TimeValueWrapper {
return ::OpenDDS::DCPS::TimeDuration(sec, microsec);
}
};
+#pragma pack(pop)
diff --git a/Native/OpenDDSWrapper/TransportConfig.cpp b/Native/OpenDDSWrapper/TransportConfig.cpp
index 1e27db4f3..83de0b4a6 100644
--- a/Native/OpenDDSWrapper/TransportConfig.cpp
+++ b/Native/OpenDDSWrapper/TransportConfig.cpp
@@ -38,11 +38,12 @@ void TransportConfig_SetSwapBytes(::OpenDDS::DCPS::TransportConfig *cfg, CORBA::
}
CORBA::UInt32 TransportConfig_GetPassiveConnectDuration(::OpenDDS::DCPS::TransportConfig *cfg) {
- return cfg->passive_connect_duration_;
+ return cfg->passive_connect_duration_.get().value().msec();
}
void TransportConfig_SetPassiveConnectDuration(::OpenDDS::DCPS::TransportConfig *cfg, CORBA::UInt32 value) {
- cfg->passive_connect_duration_ = value;
+ ::OpenDDS::DCPS::TimeDuration td(value);
+ cfg->passive_connect_duration(td);
}
char *TransportConfig_GetName(::OpenDDS::DCPS::TransportConfig *cfg) {
diff --git a/Native/OpenDDSWrapper/TransportConfig.h b/Native/OpenDDSWrapper/TransportConfig.h
index 0576ae98e..7f434345e 100644
--- a/Native/OpenDDSWrapper/TransportConfig.h
+++ b/Native/OpenDDSWrapper/TransportConfig.h
@@ -24,6 +24,7 @@ along with OpenDDSharp. If not, see .
#include
#include
#include
+#include "TimeValueWrapper.h"
EXTERN_METHOD_EXPORT
void TransportConfig_Insert(::OpenDDS::DCPS::TransportConfig *cfg, ::OpenDDS::DCPS::TransportInst *inst);
diff --git a/Native/OpenDDSWrapper/UdpInst.cpp b/Native/OpenDDSWrapper/UdpInst.cpp
index e1c6a24ca..d2ae5328c 100644
--- a/Native/OpenDDSWrapper/UdpInst.cpp
+++ b/Native/OpenDDSWrapper/UdpInst.cpp
@@ -33,26 +33,25 @@ CORBA::Boolean UdpInst_GetIsReliable(::OpenDDS::DCPS::UdpInst *ui) {
}
CORBA::Int32 UdpInst_GetSendBufferSize(::OpenDDS::DCPS::UdpInst *ui) {
- return ui->send_buffer_size_;
+ return ui->send_buffer_size();
}
void UdpInst_SetSendBufferSize(::OpenDDS::DCPS::UdpInst *ui, CORBA::Int32 value) {
- ui->send_buffer_size_ = value;
+ ui->send_buffer_size(value);
}
CORBA::Int32 UdpInst_GetRcvBufferSize(::OpenDDS::DCPS::UdpInst *ui) {
- return ui->rcv_buffer_size_;
+ return ui->rcv_buffer_size();
}
void UdpInst_SetRcvBufferSize(::OpenDDS::DCPS::UdpInst *ui, CORBA::Int32 value) {
- ui->rcv_buffer_size_ = value;
+ ui->rcv_buffer_size(value);
}
char *UdpInst_GetLocalAddress(::OpenDDS::DCPS::UdpInst *ui) {
- char *buffer = new char[512];
- ui->local_address().addr_to_string(buffer, 512);
+ const char* addr_str = CORBA::string_dup(ui->local_address().c_str());
- return CORBA::string_dup(buffer);
+ return CORBA::string_dup(addr_str);
}
void UdpInst_SetLocalAddress(::OpenDDS::DCPS::UdpInst *ui, char *value) {
diff --git a/Native/OpenDDSWrapper/Utils.h b/Native/OpenDDSWrapper/Utils.h
index 435336c9c..155bf0986 100644
--- a/Native/OpenDDSWrapper/Utils.h
+++ b/Native/OpenDDSWrapper/Utils.h
@@ -22,15 +22,15 @@ along with OpenDDSharp. If not, see .
#include "dds/DdsDcpsDomainC.h"
#ifndef EXTERN_METHOD_EXPORT
-#ifdef _WIN32
-#define EXTERN_METHOD_EXPORT extern "C" __declspec(dllexport)
-#else
-#define EXTERN_METHOD_EXPORT extern "C"
-#endif
+ #ifdef _WIN32
+ #define EXTERN_METHOD_EXPORT extern "C" __declspec(dllexport)
+ #else
+ #define EXTERN_METHOD_EXPORT extern "C"
+ #endif
#endif
#ifndef EXTERN_STRUCT_EXPORT
-#define EXTERN_STRUCT_EXPORT extern "C" struct
+ #define EXTERN_STRUCT_EXPORT extern "C" struct
#endif
EXTERN_METHOD_EXPORT void Utils_CreateOctetSeq(unsigned char bytes[], ::DDS::OctetSeq *seq);
diff --git a/Native/OpenDDSharp.IdlGenerator.nuspec b/Native/OpenDDSharp.IdlGenerator.nuspec
index 5eb688908..a259b9a1f 100644
--- a/Native/OpenDDSharp.IdlGenerator.nuspec
+++ b/Native/OpenDDSharp.IdlGenerator.nuspec
@@ -13,7 +13,7 @@
false
OpenDDSharp IDL Generator
Jose Morato
- OpenDDSharp OpenDDS DDS IDL CodeGenerator
+ OpenDDSharp;OpenDDS;DDS;IDL;CodeGenerator
@@ -30,6 +30,7 @@
+
@@ -37,6 +38,7 @@
+
@@ -48,6 +50,7 @@
+
@@ -55,15 +58,18 @@
+
+
+
@@ -74,6 +80,7 @@
+
@@ -81,6 +88,7 @@
+
@@ -91,6 +99,7 @@
+
@@ -98,6 +107,7 @@
+
diff --git a/Native/OpenDDSharp.IdlGenerator.targets b/Native/OpenDDSharp.IdlGenerator.targets
index d05952694..7ec024caf 100644
--- a/Native/OpenDDSharp.IdlGenerator.targets
+++ b/Native/OpenDDSharp.IdlGenerator.targets
@@ -188,11 +188,11 @@
-
+
-
+
diff --git a/Native/OpenDDSharp.IdlGenerator/CMakeLists.txt b/Native/OpenDDSharp.IdlGenerator/CMakeLists.txt
index 3622a08a5..a8d78a35c 100644
--- a/Native/OpenDDSharp.IdlGenerator/CMakeLists.txt
+++ b/Native/OpenDDSharp.IdlGenerator/CMakeLists.txt
@@ -1,8 +1,11 @@
project(openddsharp_idl CXX)
cmake_minimum_required(VERSION 3.8.2)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
if (APPLE)
- set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif ()
diff --git a/Patches/ConditionImpl.h.patch b/Patches/ConditionImpl.h.patch
deleted file mode 100644
index 6cb6ab937..000000000
--- a/Patches/ConditionImpl.h.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/dds/DCPS/ConditionImpl.h b/dds/DCPS/ConditionImpl.h
-index e2fc6dd22..20374395a 100644
---- a/dds/DCPS/ConditionImpl.h
-+++ b/dds/DCPS/ConditionImpl.h
-@@ -24,7 +24,7 @@ OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
- namespace OpenDDS {
- namespace DCPS {
-
--class ConditionImpl
-+class OpenDDS_Dcps_Export ConditionImpl
- : public virtual OpenDDS::DCPS::LocalObject {
- public:
- DDS::ReturnCode_t attach_to_ws(DDS::WaitSet_ptr ws);
diff --git a/Patches/RtpsDiscoveryConfig.patch b/Patches/RtpsDiscoveryConfig.patch
new file mode 100644
index 000000000..d6986c308
--- /dev/null
+++ b/Patches/RtpsDiscoveryConfig.patch
@@ -0,0 +1,70 @@
+From 476821173b736c5d3c99f87f92e78979389229e8 Mon Sep 17 00:00:00 2001
+From: jose_morato
+Date: Thu, 27 Jun 2024 15:51:29 +0200
+Subject: [PATCH 1/2] [fix] RtpsDiscoveryConfig RESEND_PERIOD
+
+---
+ dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp b/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
+index cb31a6e9b..2d9f9e25d 100644
+--- a/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
++++ b/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
+@@ -32,7 +32,7 @@ RtpsDiscoveryConfig::resend_period() const
+ // see RTPS v2.1 9.6.1.4.2
+ return TheServiceParticipant->config_store()->get(config_key("RESEND_PERIOD").c_str(),
+ TimeDuration(30 /*seconds*/),
+- DCPS::ConfigStoreImpl::Format_IntegerSeconds);
++ DCPS::ConfigStoreImpl::Format_IntegerMilliseconds);
+ }
+
+ void
+@@ -40,7 +40,7 @@ RtpsDiscoveryConfig::resend_period(const DCPS::TimeDuration& period)
+ {
+ TheServiceParticipant->config_store()->set(config_key("RESEND_PERIOD").c_str(),
+ period,
+- DCPS::ConfigStoreImpl::Format_IntegerSeconds);
++ DCPS::ConfigStoreImpl::Format_IntegerMilliseconds);
+ }
+
+ double
+--
+2.39.3 (Apple Git-146)
+
+
+From a9f90c6bb57372210b7ccc1d7672ffe85b729f7a Mon Sep 17 00:00:00 2001
+From: jose_morato
+Date: Thu, 27 Jun 2024 17:42:33 +0200
+Subject: [PATCH 2/2] Use Format_FractionalSeconds instead of
+ Format_IntegerMilliseconds
+
+---
+ dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp b/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
+index 2d9f9e25d..b3b142ff2 100644
+--- a/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
++++ b/dds/DCPS/RTPS/RtpsDiscoveryConfig.cpp
+@@ -32,7 +32,7 @@ RtpsDiscoveryConfig::resend_period() const
+ // see RTPS v2.1 9.6.1.4.2
+ return TheServiceParticipant->config_store()->get(config_key("RESEND_PERIOD").c_str(),
+ TimeDuration(30 /*seconds*/),
+- DCPS::ConfigStoreImpl::Format_IntegerMilliseconds);
++ DCPS::ConfigStoreImpl::Format_FractionalSeconds);
+ }
+
+ void
+@@ -40,7 +40,7 @@ RtpsDiscoveryConfig::resend_period(const DCPS::TimeDuration& period)
+ {
+ TheServiceParticipant->config_store()->set(config_key("RESEND_PERIOD").c_str(),
+ period,
+- DCPS::ConfigStoreImpl::Format_IntegerMilliseconds);
++ DCPS::ConfigStoreImpl::Format_FractionalSeconds);
+ }
+
+ double
+--
+2.39.3 (Apple Git-146)
+
diff --git a/Patches/WaitSetLivelinessLost.patch b/Patches/WaitSetLivelinessLost.patch
deleted file mode 100644
index 7a12b8c50..000000000
--- a/Patches/WaitSetLivelinessLost.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: dds/DCPS/DataWriterImpl.cpp
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/dds/DCPS/DataWriterImpl.cpp b/dds/DCPS/DataWriterImpl.cpp
---- a/dds/DCPS/DataWriterImpl.cpp (revision 0d85140f59fcda8fa38064ca280e73e1b99702bf)
-+++ b/dds/DCPS/DataWriterImpl.cpp (revision 608c8f4d46107373bc66e7cbd4b638e4533b3440)
-@@ -2521,6 +2521,9 @@
- ++liveliness_lost_status_.total_count;
- ++liveliness_lost_status_.total_count_change;
-
-+ set_status_changed_flag(DDS::LIVELINESS_LOST_STATUS, true);
-+ notify_status_condition();
-+
- DDS::DataWriterListener_var listener = listener_for(DDS::LIVELINESS_LOST_STATUS);
-
- if (!CORBA::is_nil(listener.in())) {
diff --git a/Patches/configure.patch b/Patches/configure.patch
new file mode 100644
index 000000000..0adf7b38a
--- /dev/null
+++ b/Patches/configure.patch
@@ -0,0 +1,22 @@
+From df9e1b8a7b69a2a577ad7342d722c46acce02ae5 Mon Sep 17 00:00:00 2001
+From: Adam Mitz
+Date: Thu, 6 Jun 2024 21:27:47 +0000
+Subject: [PATCH] configure: updated for Visual Studio 2022 17.10 version of cl
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 619d7ae87f..7b7732633b 100755
+--- a/configure
++++ b/configure
+@@ -62,7 +62,7 @@ my %platforminfo =
+ 'cl_versions' => {13.1 => 'vc71', 14 => 'vc8', 15 => 'vc9',
+ 16 => 'vc10', 17 => 'vc11', 18 => 'vc12',
+ 19 => 'vc14', 19.1 => 'vs2017',
+- 19.2 => 'vs2019', 19.3 => 'vs2022'},
++ 19.2 => 'vs2019', 19.3 => 'vs2022', 19.4 => 'vs2022'},
+ 'cl_archs' => {'x64' => 1, 'Win32' => 1, 'ARM64' => 0, 'ARM' => 0}, # 1 if supported
+ },
+ 'macos' => {
diff --git a/README.md b/README.md
index 422757206..ddcfa6598 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ OpenDDS Website: [https://www.opendds.org](https://www.opendds.org)
OpenDDS Repository: [https://github.com/OpenDDS/OpenDDS](https://github.com/OpenDDS/OpenDDS)
OpenDDS Documentation: [https://opendds.readthedocs.io](https://opendds.readthedocs.io/en/latest/)
-OpenDDSharp has been compiled with OpenDDS v3.25
+OpenDDSharp has been compiled with OpenDDS v3.28.1
| Package | NuGet |
|----------------------------------------------------------|------------------------------------------------------------------|
diff --git a/Sources/OpenDDSharp.BuildTasks/OpenDDSharp.BuildTasks.csproj b/Sources/OpenDDSharp.BuildTasks/OpenDDSharp.BuildTasks.csproj
index 7227c0919..b205b5a75 100644
--- a/Sources/OpenDDSharp.BuildTasks/OpenDDSharp.BuildTasks.csproj
+++ b/Sources/OpenDDSharp.BuildTasks/OpenDDSharp.BuildTasks.csproj
@@ -10,11 +10,11 @@
-
-
+
+
-
+
all
@@ -25,7 +25,7 @@
all
-
+
all
diff --git a/Sources/OpenDDSharp.Marshaller/OpenDDSharp.Marshaller.csproj b/Sources/OpenDDSharp.Marshaller/OpenDDSharp.Marshaller.csproj
index 303c033ac..a3cb73725 100644
--- a/Sources/OpenDDSharp.Marshaller/OpenDDSharp.Marshaller.csproj
+++ b/Sources/OpenDDSharp.Marshaller/OpenDDSharp.Marshaller.csproj
@@ -23,7 +23,7 @@
https://github.com/jmmorato/openddsharp
https://github.com/jmmorato/openddsharp/blob/master/NEWS.md
icon_128.png
- OpenDDSharp DDS OpenDDS
+ OpenDDSharp;DDS;OpenDDS
false
@@ -35,12 +35,12 @@
-
+
-
+
all
@@ -51,7 +51,7 @@
all
-
+
all
diff --git a/Sources/OpenDDSharp.Native/OpenDDSharp.Native.csproj b/Sources/OpenDDSharp.Native/OpenDDSharp.Native.csproj
index addf86525..2b93ffb5a 100644
--- a/Sources/OpenDDSharp.Native/OpenDDSharp.Native.csproj
+++ b/Sources/OpenDDSharp.Native/OpenDDSharp.Native.csproj
@@ -28,7 +28,7 @@
https://github.com/jmmorato/openddsharp
https://github.com/jmmorato/openddsharp/blob/master/NEWS.md
icon_128.png
- OpenDDSharp DDS OpenDDS
+ OpenDDSharp;DDS;OpenDDS
false
1.0.0
LICENSE.txt
diff --git a/Sources/OpenDDSharp.Templates/OpenDDSharp.Templates.csproj b/Sources/OpenDDSharp.Templates/OpenDDSharp.Templates.csproj
index be7a8ecc1..f16128896 100644
--- a/Sources/OpenDDSharp.Templates/OpenDDSharp.Templates.csproj
+++ b/Sources/OpenDDSharp.Templates/OpenDDSharp.Templates.csproj
@@ -9,7 +9,7 @@
Jose Morato
Project templates for OpenDDSharp
git
- IDL, OpenDDS, OpenDDSharp, DDS
+ IDL;OpenDDS;OpenDDSharp;DDS
OpenDDSharp
Copyright © Jose Morato 2018. All rights reserved.
https://www.openddsharp.com
diff --git a/Sources/OpenDDSharp/OpenDDS/DCPS/RtpsUdpInst.cs b/Sources/OpenDDSharp/OpenDDS/DCPS/RtpsUdpInst.cs
index b7f8e27dd..dd9d0ebbb 100644
--- a/Sources/OpenDDSharp/OpenDDS/DCPS/RtpsUdpInst.cs
+++ b/Sources/OpenDDSharp/OpenDDS/DCPS/RtpsUdpInst.cs
@@ -53,7 +53,7 @@ public class RtpsUdpInst : TransportInst
public bool RequiresCdr => GetRequiresCdr();
///
- /// Gets or sets the total send bufer size in bytes for UDP payload.
+ /// Gets or sets the total send buffer size in bytes for UDP payload.
/// The default value is the platform value of
/// ACE_DEFAULT_MAX_SOCKET_BUFSIZ.
///
@@ -64,7 +64,7 @@ public int SendBufferSize
}
///
- /// Gets or sets the total receive bufer size in bytes for UDP payload.
+ /// Gets or sets the total receive buffer size in bytes for UDP payload.
/// The default value is the platform value of
/// ACE_DEFAULT_MAX_SOCKET_BUFSIZ.
///
@@ -99,7 +99,7 @@ public bool UseMulticast
///
/// Gets or sets the value of the time-to-live (ttl) field of any
- /// multicast datagrams sent. This value specifes the
+ /// multicast datagrams sent. This value specifies the
/// number of hops the datagram will traverse before
/// being discarded by the network. The default value
/// of 1 means that all data is restricted to the local
@@ -111,19 +111,6 @@ public byte Ttl
set => SetTtl(value);
}
- ///
- /// Gets or sets the multicast group address.
- /// When the transport is set to multicast, this is the
- /// multicast network address that should be used. If
- /// no port is specified for the network address, port
- /// 7401 will be used. The default value is 239.255.0.2:7401.
- ///
- public string MulticastGroupAddress
- {
- get => GetMulticastGroupAddress();
- set => SetMulticastGroupAddress(value);
- }
-
///
/// Gets or sets the network interface to be used by this
/// transport instance. This uses a platform-specific
@@ -169,7 +156,7 @@ public TimeValue HeartbeatPeriod
}
///
- /// Gets or sets the receive address timeout.
+ /// Gets or sets the reception address timeout.
/// The default value is 5 seconds.
///
public TimeValue ReceiveAddressDuration
@@ -198,6 +185,39 @@ public RtpsUdpInst(TransportInst inst) : base(inst?.ToNative() ?? IntPtr.Zero)
#endregion
#region Methods
+ ///
+ /// Gets or sets the multicast group address.
+ /// When the transport is set to multicast, this is the
+ /// multicast network address that should be used. If
+ /// no port is specified for the network address, port
+ /// 7401 will be used. The default value is 239.255.0.2:7401.
+ ///
+ /// The domain ID.
+ /// The string representation of the address.
+ public string GetMulticastGroupAddress(int domainId)
+ {
+ return Marshal.PtrToStringAnsi(UnsafeNativeMethods.GetMulticastGroupAddress(_native, domainId));
+ }
+
+ ///
+ /// Sets the multicast group address.
+ /// When the transport is set to multicast, this is the
+ /// multicast network address that should be used. If
+ /// no port is specified for the network address, port
+ /// 7401 will be used. The default value is 239.255.0.2:7401.
+ ///
+ /// The string representation of the address.
+ public void SetMulticastGroupAddress(string value)
+ {
+ var full = value;
+ if (!full.Contains(":"))
+ {
+ full += ":0";
+ }
+
+ UnsafeNativeMethods.SetMulticastGroupAddress(_native, full);
+ }
+
private bool GetIsReliable()
{
return UnsafeNativeMethods.RtpsUdpInstGetIsReliable(_native);
@@ -258,22 +278,6 @@ private void SetTtl(byte value)
UnsafeNativeMethods.RtpsUdpInstSetTtl(_native, value);
}
- private string GetMulticastGroupAddress()
- {
- return Marshal.PtrToStringAnsi(UnsafeNativeMethods.GetMulticastGroupAddress(_native));
- }
-
- private void SetMulticastGroupAddress(string value)
- {
- string full = value;
- if (!full.Contains(":"))
- {
- full += ":0";
- }
-
- UnsafeNativeMethods.SetMulticastGroupAddress(_native, full);
- }
-
private string GetMulticastInterface()
{
return Marshal.PtrToStringAnsi(UnsafeNativeMethods.GetMulticastInterface(_native));
@@ -408,7 +412,7 @@ internal static partial class UnsafeNativeMethods
[SuppressUnmanagedCodeSecurity]
[LibraryImport(MarshalHelper.API_DLL, EntryPoint = "RtpsUdpInst_GetMulticastGroupAddress")]
[UnmanagedCallConv(CallConvs = new[] { typeof(CallConvCdecl) })]
- public static partial IntPtr GetMulticastGroupAddress(IntPtr ird);
+ public static partial IntPtr GetMulticastGroupAddress(IntPtr ird, int domainId);
[SuppressUnmanagedCodeSecurity]
[LibraryImport(MarshalHelper.API_DLL, EntryPoint = "RtpsUdpInst_SetMulticastGroupAddress", StringMarshalling = StringMarshalling.Utf8)]
@@ -519,7 +523,7 @@ internal static partial class UnsafeNativeMethods
[SuppressUnmanagedCodeSecurity]
[DllImport(MarshalHelper.API_DLL, EntryPoint = "RtpsUdpInst_GetMulticastGroupAddress", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping = false, ThrowOnUnmappableChar = true)]
- public static extern IntPtr GetMulticastGroupAddress(IntPtr ird);
+ public static extern IntPtr GetMulticastGroupAddress(IntPtr ird, int domainId);
[SuppressUnmanagedCodeSecurity]
[DllImport(MarshalHelper.API_DLL, EntryPoint = "RtpsUdpInst_SetMulticastGroupAddress", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping = false, ThrowOnUnmappableChar = true)]
diff --git a/Sources/OpenDDSharp/OpenDDS/RTPS/RtpsDiscovery.cs b/Sources/OpenDDSharp/OpenDDS/RTPS/RtpsDiscovery.cs
index c0582c3b1..a985cfe23 100644
--- a/Sources/OpenDDSharp/OpenDDS/RTPS/RtpsDiscovery.cs
+++ b/Sources/OpenDDSharp/OpenDDS/RTPS/RtpsDiscovery.cs
@@ -98,7 +98,7 @@ public ushort DG
/// The default value is 2.
///
///
- /// The port gain assists in confguring SPDP Unicast
+ /// The port gain assists in configuring SPDP Unicast
/// ports and serves as an offset multiplier as
/// participants are assigned addresses using the
/// formula: PB + DG * domainId + d1 + PG * participantId.
@@ -129,7 +129,7 @@ public ushort D0
/// The default value is 10.
///
///
- /// The offset one assists in providing an ofset
+ /// The offset one assists in providing an offset
/// for calculating an assignable port in SPDP Unicast
/// configurations. The formula used is: PB + DG * domainId + d1 + PG * participantId.
///
@@ -196,7 +196,7 @@ public string SpdpLocalAddress
///
/// Gets or sets a value indicating whether
- /// Multicast is used for the SEDP trafic. When set to true,
+ /// Multicast is used for the SEDP traffic. When set to true,
/// Multicast is used. When set to false Unicast for
/// SEDP is used. The default value is true.
///
@@ -217,31 +217,13 @@ public string MulticastInterface
set => SetMulticastInterface(value);
}
- ///
- /// Gets or sets a network address specifying the multicast group to
- /// be used for SPDP discovery. The default value is 239.255.0.1.
- ///
- ///
- /// This overrides the interoperability group of the specification.
- /// It can be used, for example, to specify use of a routed group
- /// address to provide a larger discovery scope.
- ///
- public string DefaultMulticastGroup
- {
- get => GetDefaultMulticastGroup();
- set => SetDefaultMulticastGroup(value);
- }
-
///
/// Gets a list (comma or whitespace separated) of host:port
/// pairs used as destinations for SPDP content. This
/// can be a combination of Unicast and Multicast
/// addresses.
///
- public IEnumerable SpdpSendAddrs
- {
- get => GetSpdpSendAddrs();
- }
+ public IEnumerable SpdpSendAddrs => GetSpdpSendAddrs();
///
/// Gets or sets the specific network interface to use when
@@ -273,6 +255,42 @@ public RtpsDiscovery(string key)
#endregion
#region Methods
+ ///
+ /// Gets the network address specifying the multicast group to
+ /// be used for SPDP discovery. The default value is '239.255.0.1'.
+ ///
+ /// The domain Id.
+ ///
+ /// This overrides the interoperability group of the specification.
+ /// It can be used, for example, to specify use of a routed group
+ /// address to provide a larger discovery scope.
+ ///
+ /// The network address string representation
+ public string GetDefaultMulticastGroup(int domainId)
+ {
+ return Marshal.PtrToStringAnsi(UnsafeNativeMethods.GetDefaultMulticastGroup(_native, domainId));
+ }
+
+ ///
+ /// Sets the network address specifying the multicast group to
+ /// be used for SPDP discovery. The default value is '239.255.0.1'.
+ ///
+ /// The network address string represenation
+ ///
+ /// This overrides the interoperability group of the specification.
+ /// It can be used, for example, to specify use of a routed group
+ /// address to provide a larger discovery scope.
+ ///
+ public void SetDefaultMulticastGroup(string value)
+ {
+ var full = value;
+ if (!full.Contains(":"))
+ {
+ full += ":0";
+ }
+ UnsafeNativeMethods.SetDefaultMulticastGroup(_native, full);
+ }
+
private TimeValue GetResendPeriod()
{
return UnsafeNativeMethods.GetResendPeriod(_native);
@@ -403,21 +421,6 @@ private void SetMulticastInterface(string value)
UnsafeNativeMethods.SetMulticastInterface(_native, value);
}
- private string GetDefaultMulticastGroup()
- {
- return Marshal.PtrToStringAnsi(UnsafeNativeMethods.GetDefaultMulticastGroup(_native));
- }
-
- private void SetDefaultMulticastGroup(string value)
- {
- string full = value;
- if (!full.Contains(":"))
- {
- full += ":0";
- }
- UnsafeNativeMethods.SetDefaultMulticastGroup(_native, full);
- }
-
private IEnumerable GetSpdpSendAddrs()
{
IList addrs = new List();
@@ -586,7 +589,7 @@ internal static partial class UnsafeNativeMethods
[SuppressUnmanagedCodeSecurity]
[LibraryImport(MarshalHelper.API_DLL, EntryPoint = "RtpsDiscovery_GetDefaultMulticastGroup")]
[UnmanagedCallConv(CallConvs = new[] { typeof(CallConvCdecl) })]
- public static partial IntPtr GetDefaultMulticastGroup(IntPtr ird);
+ public static partial IntPtr GetDefaultMulticastGroup(IntPtr ird, int domainId);
[SuppressUnmanagedCodeSecurity]
[LibraryImport(MarshalHelper.API_DLL, EntryPoint = "RtpsDiscovery_SetDefaultMulticastGroup", StringMarshalling = StringMarshalling.Utf8)]
@@ -716,7 +719,7 @@ internal static partial class UnsafeNativeMethods
[SuppressUnmanagedCodeSecurity]
[DllImport(MarshalHelper.API_DLL, EntryPoint = "RtpsDiscovery_GetDefaultMulticastGroup", CallingConvention = CallingConvention.Cdecl)]
- public static extern IntPtr GetDefaultMulticastGroup(IntPtr ird);
+ public static extern IntPtr GetDefaultMulticastGroup(IntPtr ird, int domainId);
[SuppressUnmanagedCodeSecurity]
[DllImport(MarshalHelper.API_DLL, EntryPoint = "RtpsDiscovery_SetDefaultMulticastGroup", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping = false, ThrowOnUnmappableChar = true)]
diff --git a/Sources/OpenDDSharp/OpenDDSharp.csproj b/Sources/OpenDDSharp/OpenDDSharp.csproj
index 3ce529d87..12d25946c 100644
--- a/Sources/OpenDDSharp/OpenDDSharp.csproj
+++ b/Sources/OpenDDSharp/OpenDDSharp.csproj
@@ -30,7 +30,7 @@
https://github.com/jmmorato/openddsharp
https://github.com/jmmorato/openddsharp/blob/master/NEWS.md
icon_128.png
- OpenDDSharp DDS OpenDDS
+ OpenDDSharp;DDS;OpenDDS
false
@@ -42,7 +42,7 @@
-
+
all
@@ -53,11 +53,11 @@
all
-
+
all
-
+
all
diff --git a/Sources/OpenDDSharp/TimeValue.cs b/Sources/OpenDDSharp/TimeValue.cs
index 90990087a..b7f98f78e 100644
--- a/Sources/OpenDDSharp/TimeValue.cs
+++ b/Sources/OpenDDSharp/TimeValue.cs
@@ -25,19 +25,32 @@ namespace OpenDDSharp;
///
/// Structure for time value representation.
///
-[StructLayout(LayoutKind.Sequential)]
+[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct TimeValue : IEquatable
{
+ [MarshalAs(UnmanagedType.I8)]
+ private long _seconds;
+ [MarshalAs(UnmanagedType.I4)]
+ private int _microSeconds;
+
#region Properties
///
/// Gets or sets the seconds.
///
- public long Seconds { get; set; }
+ public long Seconds
+ {
+ get => _seconds;
+ set => _seconds = value;
+ }
///
/// Gets or sets the microseconds.
///
- public int MicroSeconds { get; set; }
+ public int MicroSeconds
+ {
+ get => _microSeconds;
+ set => _microSeconds = value;
+ }
#endregion
#region IEquatable Members
diff --git a/Tests.runsettings b/Tests.runsettings
index 99f02d530..d18c1a324 100644
--- a/Tests.runsettings
+++ b/Tests.runsettings
@@ -16,7 +16,7 @@
cobertura,lcov
[OpenDDSharp*]OpenDDSharp.*
- [TestIdlStandard]*,[*]OpenDDSharp.BuildTasks.*,[*]OpenDDSharp.UnitTest.*
+ [TestIdl]*,[*]OpenDDSharp.BuildTasks[*],[*]OpenDDSharp.UnitTest[*],[TestSupportProcessCore]*,[*]BenchmarkPerformance[*],[*]OpenDDSharp.Doc[*]
GeneratedCodeAttribute,ExcludeFromCodeCoverageAttribute
true
true
diff --git a/Tests/BenchmarkPerformance/BenchmarkPerformance.csproj b/Tests/BenchmarkPerformance/BenchmarkPerformance.csproj
index eb54f70cf..f9c4590de 100644
--- a/Tests/BenchmarkPerformance/BenchmarkPerformance.csproj
+++ b/Tests/BenchmarkPerformance/BenchmarkPerformance.csproj
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/Tests/OpenDDSharp.UnitTest/MulticastInstTest.cs b/Tests/OpenDDSharp.UnitTest/MulticastInstTest.cs
index 777864ebf..c4ffc30d4 100644
--- a/Tests/OpenDDSharp.UnitTest/MulticastInstTest.cs
+++ b/Tests/OpenDDSharp.UnitTest/MulticastInstTest.cs
@@ -162,7 +162,17 @@ public void TestNonDefaultValues()
Assert.IsNotNull(mi.SynTimeout);
Assert.AreEqual(10, mi.SynTimeout.Seconds);
Assert.AreEqual(500000, mi.SynTimeout.MicroSeconds);
- Assert.IsTrue(mi.AsyncSend);
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ Assert.IsTrue(mi.AsyncSend);
+ }
+ else
+ {
+ // AsyncSend is not supported on Unix platforms and should always be false.
+ Assert.IsFalse(mi.AsyncSend);
+ }
+
Assert.AreEqual(2, mi.Ttl);
Assert.AreEqual(64U, mi.DatalinkControlChunks);
Assert.AreEqual(20000, mi.DatalinkReleaseDelay);
diff --git a/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj b/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj
index 2316729ab..865a0c6e3 100644
--- a/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj
+++ b/Tests/OpenDDSharp.UnitTest/OpenDDSharp.UnitTest.csproj
@@ -3,8 +3,6 @@
true
true
- net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;
- net6.0;net7.0;net8.0;
false
..\..\OpenDDSharpRules.ruleset
true
@@ -15,6 +13,8 @@
true
true
OpenDDSharp.UnitTest
+ net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;
+ net6.0;net7.0;net8.0;
false
@@ -57,13 +57,13 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
+
@@ -73,7 +73,7 @@
-
+
all
@@ -81,11 +81,11 @@
all
-
+
all
-
+
all
diff --git a/Tests/OpenDDSharp.UnitTest/RtpsDiscoveryTest.cs b/Tests/OpenDDSharp.UnitTest/RtpsDiscoveryTest.cs
index 8b46b8b2f..ec72d1210 100644
--- a/Tests/OpenDDSharp.UnitTest/RtpsDiscoveryTest.cs
+++ b/Tests/OpenDDSharp.UnitTest/RtpsDiscoveryTest.cs
@@ -58,7 +58,7 @@ public void TestDefaultValues()
Assert.AreEqual("0.0.0.0:0", disc.SpdpLocalAddress);
Assert.IsNotNull(disc.SpdpSendAddrs);
Assert.AreEqual(0, disc.SpdpSendAddrs.Count());
- Assert.AreEqual("239.255.0.1:0", disc.DefaultMulticastGroup);
+ Assert.AreEqual("239.255.0.1:0", disc.GetDefaultMulticastGroup(0));
Assert.AreEqual(1, disc.Ttl);
Assert.AreEqual(string.Empty, disc.MulticastInterface);
Assert.AreEqual(string.Empty, disc.GuidInterface);
@@ -76,7 +76,7 @@ public void TestNonDefaultValues()
{
ResendPeriod = new TimeValue
{
- Seconds = 1,
+ Seconds = 2,
MicroSeconds = 500000,
},
PB = 8400,
@@ -89,14 +89,15 @@ public void TestNonDefaultValues()
SedpMulticast = false,
SedpLocalAddress = "127.0.0.1",
SpdpLocalAddress = "127.0.0.1",
- DefaultMulticastGroup = "239.255.42.1",
MulticastInterface = "eth0",
GuidInterface = "eth0",
};
+ disc.SetDefaultMulticastGroup("239.255.42.1");
+
Assert.IsNotNull(disc.ResendPeriod);
- Assert.AreEqual(1, disc.ResendPeriod.Seconds);
- Assert.AreEqual(500000, disc.ResendPeriod.MicroSeconds);
+ Assert.AreEqual(2, disc.ResendPeriod.Seconds);
+ Assert.AreEqual(50_0000, disc.ResendPeriod.MicroSeconds);
Assert.AreEqual(8400, disc.PB);
Assert.AreEqual(500, disc.DG);
Assert.AreEqual(4, disc.PG);
@@ -106,7 +107,7 @@ public void TestNonDefaultValues()
Assert.AreEqual(false, disc.SedpMulticast);
Assert.AreEqual("127.0.0.1:0", disc.SedpLocalAddress);
Assert.AreEqual("127.0.0.1:0", disc.SpdpLocalAddress);
- Assert.AreEqual("239.255.42.1:0", disc.DefaultMulticastGroup);
+ Assert.AreEqual("239.255.42.1:0", disc.GetDefaultMulticastGroup(0));
Assert.AreEqual(2, disc.Ttl);
Assert.AreEqual("eth0", disc.MulticastInterface);
Assert.AreEqual("eth0", disc.GuidInterface);
diff --git a/Tests/OpenDDSharp.UnitTest/RtpsUdpInstTest.cs b/Tests/OpenDDSharp.UnitTest/RtpsUdpInstTest.cs
index 46afa547a..9cab05b50 100644
--- a/Tests/OpenDDSharp.UnitTest/RtpsUdpInstTest.cs
+++ b/Tests/OpenDDSharp.UnitTest/RtpsUdpInstTest.cs
@@ -46,7 +46,7 @@ public void TestDefaultValues()
var inst = TransportRegistry.Instance.CreateInst(INSTANCE_NAME, TRANSPORT_TYPE);
var rui = new RtpsUdpInst(inst);
Assert.IsTrue(rui.UseMulticast);
- Assert.AreEqual("239.255.0.2:7401", rui.MulticastGroupAddress);
+ Assert.AreEqual("239.255.0.2:7401", rui.GetMulticastGroupAddress(0));
Assert.AreEqual(string.Empty, rui.MulticastInterface);
Assert.AreEqual("0.0.0.0:0", rui.LocalAddress);
Assert.AreEqual(0U, rui.NakDepth);
@@ -94,7 +94,6 @@ public void TestNonDefaultValues()
var rui = new RtpsUdpInst(inst)
{
UseMulticast = false,
- MulticastGroupAddress = "239.255.0.1:7402",
LocalAddress = "127.0.0.1:",
MulticastInterface = "eth0",
NakDepth = 64U,
@@ -124,8 +123,10 @@ public void TestNonDefaultValues()
},
};
+ rui.SetMulticastGroupAddress("239.255.0.1:7402");
+
Assert.IsFalse(rui.UseMulticast);
- Assert.AreEqual("239.255.0.1:7402", rui.MulticastGroupAddress);
+ Assert.AreEqual("239.255.0.1:7402", rui.GetMulticastGroupAddress(0));
Assert.AreEqual("eth0", rui.MulticastInterface);
Assert.AreEqual("127.0.0.1:0", rui.LocalAddress);
Assert.AreEqual(64U, rui.NakDepth);
diff --git a/Tests/OpenDDSharp.UnitTest/UdpInstTest.cs b/Tests/OpenDDSharp.UnitTest/UdpInstTest.cs
index 0466b7d36..ae43213dc 100644
--- a/Tests/OpenDDSharp.UnitTest/UdpInstTest.cs
+++ b/Tests/OpenDDSharp.UnitTest/UdpInstTest.cs
@@ -45,7 +45,7 @@ public void TestDefaultValues()
{
var inst = TransportRegistry.Instance.CreateInst(INSTANCE_NAME, TRANSPORT_TYPE);
var udpInst = new UdpInst(inst);
- Assert.AreEqual("0.0.0.0:0", udpInst.LocalAddress);
+ Assert.AreEqual(string.Empty, udpInst.LocalAddress);
Assert.AreEqual(32U, udpInst.DatalinkControlChunks);
Assert.AreEqual(10000, udpInst.DatalinkReleaseDelay);
Assert.IsFalse(udpInst.IsReliable);
diff --git a/Tests/TestIdlCdr/TestIdlCdr.csproj b/Tests/TestIdlCdr/TestIdlCdr.csproj
index 3961c8464..193116837 100644
--- a/Tests/TestIdlCdr/TestIdlCdr.csproj
+++ b/Tests/TestIdlCdr/TestIdlCdr.csproj
@@ -192,11 +192,11 @@
-
+
-
+
diff --git a/Tests/TestIdlJson/TestIdlJson.csproj b/Tests/TestIdlJson/TestIdlJson.csproj
index cd86caf76..47c14e18a 100644
--- a/Tests/TestIdlJson/TestIdlJson.csproj
+++ b/Tests/TestIdlJson/TestIdlJson.csproj
@@ -183,11 +183,11 @@
-
+
-
+
diff --git a/Tests/TestSupportProcessCore/TestSupportProcessCore.csproj b/Tests/TestSupportProcessCore/TestSupportProcessCore.csproj
index f6f0d2acc..7b7150746 100644
--- a/Tests/TestSupportProcessCore/TestSupportProcessCore.csproj
+++ b/Tests/TestSupportProcessCore/TestSupportProcessCore.csproj
@@ -36,7 +36,7 @@
-
+
all
@@ -48,11 +48,11 @@
all
-
+
all
-
+
all
diff --git a/global.json b/global.json
index 5df8a9149..561353861 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "8.0.201",
+ "version": "8.0.302",
"rollForward": "latestFeature",
"allowPrerelease": false
}