feat: add suitelink client runtime and test harness
This commit is contained in:
58
README.md
Normal file
58
README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
dotnet build /Users/dohertj2/Desktop/suitelinkclient/SuiteLink.Client.slnx -c Release
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
Unit tests:
|
||||
|
||||
```bash
|
||||
dotnet test /Users/dohertj2/Desktop/suitelinkclient/SuiteLink.Client.slnx -v minimal
|
||||
```
|
||||
|
||||
Focused protocol tests:
|
||||
|
||||
```bash
|
||||
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](/Users/dohertj2/Desktop/suitelinkclient/tests/SuiteLink.Client.IntegrationTests/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](/Users/dohertj2/Desktop/suitelinkclient/tests/SuiteLink.Client.Tests/Fixtures).
|
||||
- Protocol assumptions derived from reverse engineering are intentionally isolated in codec classes and tests so they can be refined against live captures later.
|
||||
Reference in New Issue
Block a user