# Rust Thrift library
## Overview
This crate implements the components required to build a working
Thrift server and client. It is divided into the following modules:
1. errors
2. protocol
3. transport
4. server
5. autogen
The modules are layered as shown. The `generated` layer is code
generated by the Thrift compiler's Rust plugin. It uses the components
defined in this crate to serialize and deserialize types and implement
RPC. Users interact with these types and services by writing their own
code on top.
```text
+-----------+
| app dev |
+-----------+
| generated | <-> errors/results
+-----------+
| protocol |
+-----------+
| transport |
+-----------+
```
## Using this crate
Add `rift = "0.5"` to your `Cargo.toml`.