wireshift-core 0.1.1

Core typed operations, buffers, and backend traits for wireshift
Documentation

wireshift-core

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

Installation

cargo add wireshift-core

Quick Example

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

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.