DSALink SDK for Dart
DSALink SDK for Dart
Getting Started
Prerequisites
Install
pub global activate -sgit https://github.com/gencto/sdk-dsalink-dart.git # Globally install the DSA Broker
Start a Broker
dsbroker # If you have the pub global executable path setup.
pub global run dsbroker:broker # If you do not have the pub global executable path setup.
You can edit the server configuration using broker.json. For more information about broker configuration, see this page.
Create a Link
For documentation, see this page. For more examples, see this page.
import "package:dsalink/dsalink.dart";
LinkProvider link;
main(List<String> args) async {
// Process the arguments and initializes the default nodes.
link = new LinkProvider(args, "Simple-", defaultNodes: {
"Message": {
r"$type": "string", // The type of the node is a string.
r"$writable": "write", // This node's value can be set by a responder link.
"?value": "Hello World" // The default message value.
}
});
// Connect to the broker.
link.connect();
// Save the message when it changes.
link.onValueChange("/Message").listen((_) => link.save());
}
Start a Link
dart path/to/link.dart # Start a link that connects to a broker at http://127.0.0.1:8080/conn
dart path/to/link.dart --broker http://my.broker:8080/conn # Start a link that connects to the specified broker.
Links
Libraries
- broker_discovery
- browser
- Main dsalink API for Browsers
- browser_client
- Base API for DSA in the Browser
- client
- Provides the base APIs for the dsalink SDK on the Dart VM.
- common
- Shared APIs between all DSA Components.
- convert_consts
- dsalink
- Entry Point for the dsalink SDK for the Dart VM
- historian
- io
- dsalink SDK IO Utilities
- nodes
- Helper Nodes for Responders
- query
- DSA Query Implementation
- requester
- DSA Requester API
- responder
- DSA Responder API
- server
- DSA Broker Server
- socket_client
- Placeholder for future socket client support.
- socket_server
- Placeholder for future socket server support.
- utils
- Common Utilities for DSA Components
- worker
- API for distributing work across multiple independent isolates.