atproto utils for zig zat.dev
atproto sdk zig
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839const std = @import("std");const zat = @import("zat");
pub fn main() !void { var da: std.heap.DebugAllocator(.{}) = .init; defer _ = da.deinit(); const allocator = da.allocator();
std.debug.print("smoke test starting\n", .{});
var handler = Handler{}; var client = zat.JetstreamClient.init(std.Options.debug_io, allocator, .{ .hosts = &.{"jetstream2.us-east.bsky.network"}, .wanted_collections = &.{"app.bsky.feed.post"}, }); try client.subscribe(&handler);}
const Handler = struct { count: u64 = 0, connects: u64 = 0,
pub fn onEvent(self: *Handler, event: zat.JetstreamEvent) void { self.count += 1; if (self.count % 1000 == 0) { std.debug.print(" [{d}] time_us={d}\n", .{ self.count, event.timeUs() }); } }
pub fn onConnect(self: *Handler, host: []const u8) void { self.connects += 1; std.debug.print("CONNECT #{d} to {s} (total events so far: {d})\n", .{ self.connects, host, self.count }); }
pub fn onError(_: *Handler, err: anyerror) void { std.debug.print("ERROR: {s}\n", .{@errorName(err)}); }};