wireshift-core 0.1.1

Core typed operations, buffers, and backend traits for wireshift
Documentation
# wireshift-core

<p align="center">
<a href="https://crates.io/crates/wireshift-core"><img src="https://img.shields.io/crates/v/wireshift-core.svg" alt="crates.io"></a>
<a href="https://docs.rs/wireshift-core"><img src="https://img.shields.io/docsrs/wireshift-core" alt="docs.rs"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT"></a>
</p>

Core primitives for wireshift  -  composable io_uring building blocks with safe fallback backends.

## Installation

```bash
cargo add wireshift-core
```

## Quick Example

```rust
use wireshift_core::{Buffer, Op, Result};

// Core primitives for building async I/O operations
let buffer = Buffer::new(4096);
// Use with wireshift operations...
```

## Architecture Overview

```
wireshift (facade)
    ├── wireshift-core (primitives, buffer lifecycle, completion routing)
    ├── wireshift-chain (linked operation chains)
    ├── wireshift-fs (filesystem operations)
    ├── wireshift-net (network operations)
    ├── wireshift-uring (io_uring backend)
    └── wireshift-fallback (epoll/kqueue backend)
```

## Extension Guide

### Add a Custom Operation

```rust
use wireshift_core::{Op, OpDescriptor, CompletionPayload, Result};

pub struct MyOp;

impl Op for MyOp {
    type Output = MyResult;
    
    fn into_descriptor(self) -> Result<OpDescriptor> {
        // Convert to low-level descriptor
    }
    
    fn map_completion(payload: CompletionPayload) -> Result<Self::Output> {
        // Convert completion to result
    }
}
```

Contributions welcome for additional backends (Windows IOCP, macOS kqueue improvements).

## License

MIT. Copyright 2026 Corum Collective LLC.