#protocols #telescope #astronomy

macro katcp_derive

Proc macros to accompany the katcp packages

7 releases

0.1.7 Aug 11, 2022
0.1.6 Jun 9, 2022

#70 in #telescope


Used in katcp

MIT/Apache

17KB
277 lines

katcp

license docs rustc build status Codecov

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.

Description

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.

License

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.

Dependencies

~1.5MB
~35K SLoC