@sailboat-computer/event-bus
Version:
Standardized event bus for sailboat computer v3 with resilience features and offline capabilities
82 lines • 1.83 kB
TypeScript
/**
* In-memory adapter for the event bus
*/
import { EventEnvelope, MemoryAdapterConfig } from '../types';
import { BaseAdapter } from './base-adapter';
/**
* In-memory adapter for the event bus
*/
export declare class MemoryAdapter extends BaseAdapter {
/**
* Events by type
*/
private events;
/**
* Event TTL in milliseconds
*/
private eventTtl;
/**
* Whether to simulate latency
*/
private simulateLatency;
/**
* Latency range in milliseconds [min, max]
*/
private latencyRange;
/**
* Cleanup interval
*/
private cleanupInterval;
/**
* Initialize the adapter
*
* @param config - Adapter configuration
*/
initialize(config: MemoryAdapterConfig): Promise<void>;
/**
* Shutdown the adapter
*/
shutdown(): Promise<void>;
/**
* Publish an event
*
* @param event - Event envelope
* @returns Event ID
*/
publish(event: EventEnvelope): Promise<string>;
/**
* Acknowledge an event
*
* @param eventId - Event ID
* @param eventType - Event type
*/
acknowledgeEvent(eventId: string, eventType: string): Promise<void>;
/**
* Process an event
*
* @param event - Event envelope
*/
private processEvent;
/**
* Process an event with a handler
*
* @param event - Event envelope
* @param handler - Event handler
*/
private processEventWithHandler;
/**
* Clean up expired events
*/
private cleanup;
/**
* Simulate network latency
*/
private simulateNetworkLatency;
}
/**
* Create a new memory adapter
*
* @returns Memory adapter
*/
export declare function createMemoryAdapter(): MemoryAdapter;
//# sourceMappingURL=memory-adapter.d.ts.map