xref: /aosp_15_r20/tools/netsim/rust/capture/src/lib.rs (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
1 // Copyright 2024 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 //! A library for reading and writing pcap (packet capture) files in Rust.
16 //!
17 //! This crate provides an asynchronous API for working with pcap files,
18 //! allowing you to read and write packet capture data efficiently.
19 //! It supports both reading from and writing to pcap files, and it
20 //! handles the parsing and serialization of pcap headers and packet records.
21 //!
22 //! # Features
23 //!
24 //! * **Asynchronous API:** Built on top of Tokio, enabling efficient asynchronous
25 //!   reading and writing of pcap files.
26 //! * **Zero-copy:** Uses the `zerocopy` crate for zero-cost conversions between
27 //!   structs and byte slices, improving performance.
28 //! * **Standard pcap format:**  Supports the standard pcap file format, ensuring
29 //!   compatibility with other pcap tools.
30 //!
31 
32 pub mod pcap;
33