Files
suitelinkclient/README.md
2026-03-16 16:46:32 -04:00

1.8 KiB

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.