kovan-queue 0.1.5

High-performance queue primitives and disruptor implementation for Kovan.
Documentation

High-performance queue primitives and Disruptor implementation for Kovan.

Features

  • ArrayQueue: Bounded MPMC queue.
  • SegQueue: Unbounded MPMC queue (segment based).
  • Disruptor: Disruptor pattern implementation.

Usage

use kovan_queue::disruptor::{Disruptor, EventHandler, BusySpinWaitStrategy};

struct MyEvent { data: u64 }
struct MyHandler;
impl EventHandler<MyEvent> for MyHandler {
    fn on_event(&self, event: &MyEvent, _: u64, _: bool) {
        println!("Event: {}", event.data);
    }
}

let mut disruptor = Disruptor::builder(|| MyEvent { data: 0 })
    .build();
disruptor.handle_events_with(MyHandler);
let mut producer = disruptor.start();
producer.publish(|e| e.data = 42);