use ruststream::runtime::{App, AppInfo, HandlerResult, RustStream};
use ruststream::subscriber;
use ruststream_pulsar::{PulsarBroker, PulsarPosition, PulsarSubscription};
#[subscriber(
PulsarSubscription::pattern("orders-.*", "audit"),
start_at(PulsarPosition::earliest()),
raw
)]
async fn audit(payload: &[u8]) -> HandlerResult {
println!("audit: {}", String::from_utf8_lossy(payload));
HandlerResult::Ack
}
#[ruststream::app]
fn app() -> impl App {
RustStream::new(AppInfo::new("audit", "0.1.0")).with_broker(
PulsarBroker::new("pulsar://localhost:6650"),
|b| {
b.include(audit);
},
)
}