Crates.io | katcp_derive |
lib.rs | katcp_derive |
version | 0.1.7 |
source | src |
created_at | 2022-06-07 00:22:44.850578 |
updated_at | 2022-08-11 17:05:56.914181 |
description | Proc macros to accompany the katcp packages |
homepage | https://github.com/kiranshila/katcp |
repository | https://github.com/kiranshila/katcp |
max_upload_size | |
id | 601156 |
size | 16,241 |
This crate provides a rust implementation of the KATCP monitor and control protocol, as described by the Karoo Array Telescope (KAT) project from the Square Kilometer Array (SKA) South Africa group.
From the official specification:
Broadly speaking, KATCP consists of newline-separated text messages sent asynchronously over a TCP/IP stream. There are three categories of messages: requests, replies and informs. Request messages expect some sort of acknowledgement. Reply messages acknowledge requests. Inform messages require no acknowledgement Inform messages are of two types: those sent synchronously as part of a reply and those sent asynchronously.
The details of orchestrating a client or server for this protocol is not the goal of this crate. Rather, this crate
only provides the core protocol::Message
type and the core message formats. It is up to the user of this crate to implement a client or server. This is to allow this library to be small and portable and not to have to make any assumptions about the eventual implementation.
katcp is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.