AWS Common Runtime (CRT) libraries - AWS SDKs and Tools

AWS Common Runtime (CRT) libraries

The AWS Common Runtime (CRT) libraries are a new base library of the SDKs. The CRT is a modular family of nine independent packages, written in C, that each provide good performance and minimal footprint for different required functionalities. These functionalities are common and shared across all SDKs allowing for better code reuse, optimization, and accuracy. The packages are:

  • awslabs/aws-c-common: Basic data structures, threading/synchronization primitives, buffer management, stdlib-related functions

  • awslabs/aws-c-io: Sockets (TCP, UDP), DNS, pipes, event loops, channels, SSL/TLS

  • awslabs/aws-c-mqtt: MQTT is a standard, lightweight messaging protocol for the Internet of Things (IoT)

  • awslabs/aws-c-http: HTTP implementation

  • awslabs/aws-c-cal: Cryptographic primitives, hashes (MD5, SHA256, SHA256 HMAC), signers, AES

  • awslabs/aws-c-auth: AWS client-side authentication (standard credential providers and signing (sigv4))

  • awslabs/aws-c-compression: Compression algorithms (huffman encoding/decoding)

  • awslabs/aws-c-event-stream: Event stream message processing (headers, prelude, payload, crc/trailer), remote procedure call (RPC) implementation over event streams

  • awslabs/aws-checksums: Cross-platform hardware-accelerated CRC32c and CRC32 with fallback to efficient software implementations

The CRT is being adopted by all SDKs except Go.