SuiteLink Client

Cross-platform .NET 10 C# client for AVEVA SuiteLink tag operations.

Scope

Current implementation targets the normal SuiteLink tag protocol and supports:

  • startup handshake and connect message encoding
  • subscribe and unadvise flows
  • update decoding for bool, int32, float32, and string
  • write (POKE) encoding for bool, int32, float32, and string
  • client/session/transport layers suitable for macOS, Linux, and Windows

Unsupported

This repository does not currently support:

  • AlarmMgr / alarms and events
  • secure SuiteLink V3 / TLS transport
  • automatic reconnect
  • background receive loop / production retry behavior
  • validated support for richer System Platform data types such as double, int64, or DateTime

Build

dotnet build /Users/dohertj2/Desktop/suitelinkclient/SuiteLink.Client.slnx -c Release

Test

Unit tests:

dotnet test /Users/dohertj2/Desktop/suitelinkclient/SuiteLink.Client.slnx -v minimal

Focused protocol tests:

dotnet test /Users/dohertj2/Desktop/suitelinkclient/SuiteLink.Client.slnx --filter Protocol -v minimal

Integration

Live integration tests are safe by default and only run when explicitly enabled with environment variables.

See README.md for:

  • required environment variables
  • tag configuration
  • enabling live round-trip tests for bool, int, float, and string

Notes

  • The repository includes fixture-backed protocol tests under Fixtures.
  • Protocol assumptions derived from reverse engineering are intentionally isolated in codec classes and tests so they can be refined against live captures later.
Description
No description provided
Readme 131 KiB
Languages
C# 100%