diff --git a/src/bench.zig b/src/bench.zig index 4e0d38f..70c8c82 100644 --- a/src/bench.zig +++ b/src/bench.zig @@ -9,12 +9,12 @@ //! If a number matters enough to argue about, measure it properly. const std = @import("std"); -const archive_mod = @import("internal/archive.zig"); -const cold = @import("internal/cold.zig"); -const gloom = @import("internal/gloom.zig"); -const segment = @import("internal/segment.zig"); -const tail_mod = @import("internal/tail.zig"); -const wire = @import("internal/wire.zig"); +const archive_mod = @import("internal/storage/archive.zig"); +const cold = @import("internal/storage/cold.zig"); +const gloom = @import("internal/storage/gloom.zig"); +const segment = @import("internal/storage/segment.zig"); +const tail_mod = @import("internal/serve/tail.zig"); +const wire = @import("internal/serve/wire.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/capture.zig b/src/internal/bootstrap/capture.zig index f672620..eae009e 100644 --- a/src/internal/bootstrap/capture.zig +++ b/src/internal/bootstrap/capture.zig @@ -9,7 +9,7 @@ const std = @import("std"); const zat = @import("zat"); -const ingest = @import("../ingest.zig"); +const ingest = @import("../ingest/ingest.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/engine.zig b/src/internal/bootstrap/engine.zig index e6eaed6..4a2356d 100644 --- a/src/internal/bootstrap/engine.zig +++ b/src/internal/bootstrap/engine.zig @@ -15,16 +15,16 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("../archive.zig"); -const crashpoint = @import("../crashpoint.zig"); +const archive_mod = @import("../storage/archive.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); const fetched_car = @import("fetched_car.zig"); const prepared_fetch = @import("prepared_fetch.zig"); -const metrics_mod = @import("../metrics.zig"); -const meta_store = @import("../meta_store.zig"); -const observability = @import("../observability.zig"); +const metrics_mod = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const observability = @import("../runtime/observability.zig"); const repo_store = @import("repo_store.zig"); const repos = @import("repos.zig"); -const segment = @import("../segment.zig"); +const segment = @import("../storage/segment.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/lifecycle.zig b/src/internal/bootstrap/lifecycle.zig index c912723..37bbfd7 100644 --- a/src/internal/bootstrap/lifecycle.zig +++ b/src/internal/bootstrap/lifecycle.zig @@ -16,27 +16,27 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("../archive.zig"); +const archive_mod = @import("../storage/archive.zig"); const capture_mod = @import("capture.zig"); const compact_pass = @import("../compact/pass.zig"); -const crashpoint = @import("../crashpoint.zig"); -const cursor_mod = @import("../cursor.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); +const cursor_mod = @import("../ingest/cursor.zig"); const engine = @import("engine.zig"); const watermark_mod = @import("../compact/watermark.zig"); -const ingest = @import("../ingest.zig"); +const ingest = @import("../ingest/ingest.zig"); const merge = @import("merge.zig"); -const metrics = @import("../metrics.zig"); -const meta_store = @import("../meta_store.zig"); -const observability = @import("../observability.zig"); +const metrics = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const observability = @import("../runtime/observability.zig"); const phase_mod = @import("phase.zig"); -const pipeline_mod = @import("../pipeline.zig"); -const repair_mod = @import("../repair.zig"); +const pipeline_mod = @import("../ingest/pipeline.zig"); +const repair_mod = @import("../ingest/repair.zig"); const repo_store_mod = @import("repo_store.zig"); const repos = @import("repos.zig"); const retry_mod = @import("retry.zig"); const resync = @import("resync.zig"); -const tail_mod = @import("../tail.zig"); -const verify = @import("../verify.zig"); +const tail_mod = @import("../serve/tail.zig"); +const verify = @import("../ingest/verify.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/merge.zig b/src/internal/bootstrap/merge.zig index 97a74f1..e678140 100644 --- a/src/internal/bootstrap/merge.zig +++ b/src/internal/bootstrap/merge.zig @@ -15,12 +15,12 @@ //! refreshes top-level latest Rev/UpdatedAt while preserving Backfill.Rev. const std = @import("std"); -const archive_mod = @import("../archive.zig"); -const crashpoint = @import("../crashpoint.zig"); -const metrics = @import("../metrics.zig"); -const observability = @import("../observability.zig"); +const archive_mod = @import("../storage/archive.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); +const metrics = @import("../runtime/metrics.zig"); +const observability = @import("../runtime/observability.zig"); const repo_store = @import("repo_store.zig"); -const segment = @import("../segment.zig"); +const segment = @import("../storage/segment.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; @@ -270,7 +270,7 @@ test "shouldKeep mirrors upstream merge_filter" { } test "merge cursor corruption and storage errors fail closed" { - const meta_store = @import("../meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var tmp = testing.tmpDir(.{}); defer tmp.cleanup(); var path_buf: [std.fs.max_path_bytes]u8 = undefined; @@ -291,7 +291,7 @@ test "merge cursor corruption and storage errors fail closed" { } test "legacy bare merge cursor is migrated before strict decoding" { - const meta_store = @import("../meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var tmp = testing.tmpDir(.{}); defer tmp.cleanup(); var path_buf: [std.fs.max_path_bytes]u8 = undefined; @@ -309,7 +309,7 @@ test "legacy bare merge cursor is migrated before strict decoding" { } test "merge repo status cache performs one real RocksDB lookup per DID including misses" { - const meta_store = @import("../meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var tmp = testing.tmpDir(.{}); defer tmp.cleanup(); var path_buf: [std.fs.max_path_bytes]u8 = undefined; @@ -331,7 +331,7 @@ test "merge repo status cache performs one real RocksDB lookup per DID including } test "real merge records canonical counters at durable source boundaries" { - const meta_store = @import("../meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); @@ -387,7 +387,7 @@ test "real merge records canonical counters at durable source boundaries" { // no later pass revisits them. Upstream enumerates sources contiguously for // the same reason. This is the merge-side twin of the cold-replay hole. test "merge refuses a gap in the source segment sequence" { - const meta_store = @import("../meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); diff --git a/src/internal/bootstrap/phase.zig b/src/internal/bootstrap/phase.zig index 61437a1..186786f 100644 --- a/src/internal/bootstrap/phase.zig +++ b/src/internal/bootstrap/phase.zig @@ -1,7 +1,7 @@ //! Durable lifecycle phase in the shared metadata database. const std = @import("std"); -const meta_store = @import("../meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const log = std.log.scoped(.stream); const key = "phase"; diff --git a/src/internal/bootstrap/prepared_fetch.zig b/src/internal/bootstrap/prepared_fetch.zig index ed27511..6b9fed4 100644 --- a/src/internal/bootstrap/prepared_fetch.zig +++ b/src/internal/bootstrap/prepared_fetch.zig @@ -9,7 +9,7 @@ const std = @import("std"); const zat = @import("zat"); const fetched_car = @import("fetched_car.zig"); const repos = @import("repos.zig"); -const segment = @import("../segment.zig"); +const segment = @import("../storage/segment.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/repo_store.zig b/src/internal/bootstrap/repo_store.zig index a017a33..a8512c6 100644 --- a/src/internal/bootstrap/repo_store.zig +++ b/src/internal/bootstrap/repo_store.zig @@ -7,7 +7,7 @@ const std = @import("std"); const rocksdb = @import("rocksdb"); const host_store = @import("host_store.zig"); -const meta_store = @import("../meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/repos.zig b/src/internal/bootstrap/repos.zig index 3e7fdd8..c143b38 100644 --- a/src/internal/bootstrap/repos.zig +++ b/src/internal/bootstrap/repos.zig @@ -16,8 +16,8 @@ const std = @import("std"); const zat = @import("zat"); -const segment = @import("../segment.zig"); -const segment_writer = @import("../segment_writer.zig"); +const segment = @import("../storage/segment.zig"); +const segment_writer = @import("../storage/segment_writer.zig"); const Allocator = std.mem.Allocator; const log = std.log.scoped(.stream); diff --git a/src/internal/bootstrap/resync.zig b/src/internal/bootstrap/resync.zig index fb85275..85dc240 100644 --- a/src/internal/bootstrap/resync.zig +++ b/src/internal/bootstrap/resync.zig @@ -14,14 +14,14 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("../archive.zig"); -const observability = @import("../observability.zig"); +const archive_mod = @import("../storage/archive.zig"); +const observability = @import("../runtime/observability.zig"); const fetched_car = @import("fetched_car.zig"); const prepared_fetch = @import("prepared_fetch.zig"); const repo_store = @import("repo_store.zig"); const repos = @import("repos.zig"); -const segment = @import("../segment.zig"); -const segment_writer = @import("../segment_writer.zig"); +const segment = @import("../storage/segment.zig"); +const segment_writer = @import("../storage/segment_writer.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/bootstrap/retry.zig b/src/internal/bootstrap/retry.zig index 3a86be3..b69ccb9 100644 --- a/src/internal/bootstrap/retry.zig +++ b/src/internal/bootstrap/retry.zig @@ -12,10 +12,10 @@ //! never the relay host. const std = @import("std"); -const archive_mod = @import("../archive.zig"); -const metrics = @import("../metrics.zig"); -const meta_store = @import("../meta_store.zig"); -const observability = @import("../observability.zig"); +const archive_mod = @import("../storage/archive.zig"); +const metrics = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const observability = @import("../runtime/observability.zig"); const repo_store = @import("repo_store.zig"); const repos = @import("repos.zig"); const resync = @import("resync.zig"); diff --git a/src/internal/compact/pass.zig b/src/internal/compact/pass.zig index 315242a..5b334bc 100644 --- a/src/internal/compact/pass.zig +++ b/src/internal/compact/pass.zig @@ -17,14 +17,14 @@ //! reasonably small; rewrites fan out across min(CPU, 8) workers. const std = @import("std"); -const archive_mod = @import("../archive.zig"); -const crashpoint = @import("../crashpoint.zig"); -const meta_store = @import("../meta_store.zig"); -const metrics = @import("../metrics.zig"); -const rewrite_mod = @import("../segment_rewrite.zig"); -const segment = @import("../segment.zig"); -const segment_io = @import("../segment_io.zig"); -const tombstone = @import("../tombstone.zig"); +const archive_mod = @import("../storage/archive.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const metrics = @import("../runtime/metrics.zig"); +const rewrite_mod = @import("../storage/segment_rewrite.zig"); +const segment = @import("../storage/segment.zig"); +const segment_io = @import("../storage/segment_io.zig"); +const tombstone = @import("../storage/tombstone.zig"); const watermark = @import("watermark.zig"); const Io = std.Io; diff --git a/src/internal/compact/steady.zig b/src/internal/compact/steady.zig index 190e8ee..17358c1 100644 --- a/src/internal/compact/steady.zig +++ b/src/internal/compact/steady.zig @@ -18,14 +18,14 @@ //! file generation; topology-preserving rewrites make that combination safe. const std = @import("std"); -const archive_mod = @import("../archive.zig"); -const metrics = @import("../metrics.zig"); -const meta_store = @import("../meta_store.zig"); -const observability = @import("../observability.zig"); +const archive_mod = @import("../storage/archive.zig"); +const metrics = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const observability = @import("../runtime/observability.zig"); const pass = @import("pass.zig"); -const segment = @import("../segment.zig"); -const segment_rewrite = @import("../segment_rewrite.zig"); -const tombstone = @import("../tombstone.zig"); +const segment = @import("../storage/segment.zig"); +const segment_rewrite = @import("../storage/segment_rewrite.zig"); +const tombstone = @import("../storage/tombstone.zig"); const watermark = @import("watermark.zig"); const Io = std.Io; diff --git a/src/internal/compact/watermark.zig b/src/internal/compact/watermark.zig index 191aeff..5cd2954 100644 --- a/src/internal/compact/watermark.zig +++ b/src/internal/compact/watermark.zig @@ -1,7 +1,7 @@ //! Durable physical-compaction watermark in the shared metadata database. const std = @import("std"); -const meta_store = @import("../meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const log = std.log.scoped(.stream); pub const version: u8 = 1; diff --git a/src/internal/convert.zig b/src/internal/ingest/convert.zig similarity index 98% rename from src/internal/convert.zig rename to src/internal/ingest/convert.zig index 414b85d..a28cb8f 100644 --- a/src/internal/convert.zig +++ b/src/internal/ingest/convert.zig @@ -7,7 +7,7 @@ const std = @import("std"); const zat = @import("zat"); -const wire = @import("wire.zig"); +const wire = @import("../serve/wire.zig"); const firehose = zat.firehose; const Allocator = std.mem.Allocator; @@ -61,7 +61,7 @@ pub fn convertStamped( event: firehose.Event, time_us: i64, first_seq: u64, - stamped_rows: ?[]const @import("segment.zig").Event, + stamped_rows: ?[]const @import("../storage/segment.zig").Event, out: *std.ArrayList(Frame), drops: *Drops, ) !void { @@ -168,7 +168,7 @@ fn convertCommit( c: firehose.CommitEvent, time_us: i64, first_seq: u64, - stamped_rows: ?[]const @import("segment.zig").Event, + stamped_rows: ?[]const @import("../storage/segment.zig").Event, out_start: usize, out: *std.ArrayList(Frame), drops: *Drops, @@ -265,7 +265,7 @@ pub fn representableFields(did: []const u8, collection: []const u8, rkey: []cons payload_len <= std.math.maxInt(u32); } -fn rowTime(stamped_rows: ?[]const @import("segment.zig").Event, index: usize, fallback: i64) !i64 { +fn rowTime(stamped_rows: ?[]const @import("../storage/segment.zig").Event, index: usize, fallback: i64) !i64 { const rows = stamped_rows orelse return fallback; if (index >= rows.len) return error.StampedRowMismatch; return rows[index].displayTime(); @@ -356,7 +356,7 @@ test "commit fans out per op, drops invalid ops" { } test "stamped archive rows drive immediate live display time" { - const segment = @import("segment.zig"); + const segment = @import("../storage/segment.zig"); const record: zat.cbor.Value = .{ .map = &.{ .{ .key = "$type", .value = .{ .text = "app.bsky.feed.post" } }, } }; diff --git a/src/internal/cursor.zig b/src/internal/ingest/cursor.zig similarity index 98% rename from src/internal/cursor.zig rename to src/internal/ingest/cursor.zig index 463eaba..bb70e6d 100644 --- a/src/internal/cursor.zig +++ b/src/internal/ingest/cursor.zig @@ -1,7 +1,7 @@ //! Durable upstream relay cursor in the shared metadata database. const std = @import("std"); -const meta_store = @import("meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const log = std.log.scoped(.stream); const key = "relay/cursor"; diff --git a/src/internal/ingest.zig b/src/internal/ingest/ingest.zig similarity index 98% rename from src/internal/ingest.zig rename to src/internal/ingest/ingest.zig index aa05a30..b4967cc 100644 --- a/src/internal/ingest.zig +++ b/src/internal/ingest/ingest.zig @@ -6,19 +6,19 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("archive.zig"); -const cold = @import("cold.zig"); +const archive_mod = @import("../storage/archive.zig"); +const cold = @import("../storage/cold.zig"); const convert = @import("convert.zig"); -const segment = @import("segment.zig"); +const segment = @import("../storage/segment.zig"); const cursor_mod = @import("cursor.zig"); -const metrics = @import("metrics.zig"); -const meta_store = @import("meta_store.zig"); -const observability = @import("observability.zig"); +const metrics = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const observability = @import("../runtime/observability.zig"); const pipeline_mod = @import("pipeline.zig"); const repair = @import("repair.zig"); -const resync = @import("bootstrap/resync.zig"); -const repos = @import("bootstrap/repos.zig"); -const tail_mod = @import("tail.zig"); +const resync = @import("../bootstrap/resync.zig"); +const repos = @import("../bootstrap/repos.zig"); +const tail_mod = @import("../serve/tail.zig"); const verify = @import("verify.zig"); const Io = std.Io; @@ -774,7 +774,7 @@ fn appendArchivedTailRow(consumer: *Consumer, row: segment.Event) !void { if (consumer.stats) |stats| _ = stats.subscribe_encode_errors_total.fetchAdd(1, .monotonic); break :blk ""; } orelse ""; - const kind: @import("wire.zig").Kind = switch (row.kind) { + const kind: @import("../serve/wire.zig").Kind = switch (row.kind) { .create, .update, .delete, .create_resync => .commit, .identity => .identity, .account => .account, diff --git a/src/internal/pipeline.zig b/src/internal/ingest/pipeline.zig similarity index 99% rename from src/internal/pipeline.zig rename to src/internal/ingest/pipeline.zig index 210504a..ec524c2 100644 --- a/src/internal/pipeline.zig +++ b/src/internal/ingest/pipeline.zig @@ -6,9 +6,9 @@ const std = @import("std"); const zat = @import("zat"); const verify = @import("verify.zig"); const repair = @import("repair.zig"); -const observability = @import("observability.zig"); -const meta_store = @import("meta_store.zig"); -const metrics = @import("metrics.zig"); +const observability = @import("../runtime/observability.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const metrics = @import("../runtime/metrics.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/repair.zig b/src/internal/ingest/repair.zig similarity index 99% rename from src/internal/repair.zig rename to src/internal/ingest/repair.zig index ee40a98..66a416b 100644 --- a/src/internal/repair.zig +++ b/src/internal/ingest/repair.zig @@ -8,12 +8,12 @@ const std = @import("std"); const zat = @import("zat"); -const fetched_car = @import("bootstrap/fetched_car.zig"); -const prepared_fetch = @import("bootstrap/prepared_fetch.zig"); +const fetched_car = @import("../bootstrap/fetched_car.zig"); +const prepared_fetch = @import("../bootstrap/prepared_fetch.zig"); const verify = @import("verify.zig"); -const metrics = @import("metrics.zig"); -const lru = @import("lru.zig"); -const meta_store = @import("meta_store.zig"); +const metrics = @import("../runtime/metrics.zig"); +const lru = @import("../storage/lru.zig"); +const meta_store = @import("../storage/meta_store.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/repair_integration_test.zig b/src/internal/ingest/repair_integration_test.zig similarity index 96% rename from src/internal/repair_integration_test.zig rename to src/internal/ingest/repair_integration_test.zig index 691a2f5..84c70cd 100644 --- a/src/internal/repair_integration_test.zig +++ b/src/internal/ingest/repair_integration_test.zig @@ -1,13 +1,13 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("archive.zig"); +const archive_mod = @import("../storage/archive.zig"); const cursor_mod = @import("cursor.zig"); const ingest = @import("ingest.zig"); -const meta_store = @import("meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const repair = @import("repair.zig"); -const repos = @import("bootstrap/repos.zig"); -const segment = @import("segment.zig"); -const tail_mod = @import("tail.zig"); +const repos = @import("../bootstrap/repos.zig"); +const segment = @import("../storage/segment.zig"); +const tail_mod = @import("../serve/tail.zig"); const verify = @import("verify.zig"); const Io = std.Io; @@ -85,7 +85,7 @@ test "repair completion durably emits tombstone then replacement offline" { .after_ticket = 0, .upstream_seq = 77, }; - try ingest.Consumer.emitRepair(&consumer, &completion, @import("observability.zig").root_context); + try ingest.Consumer.emitRepair(&consumer, &completion, @import("../runtime/observability.zig").root_context); try testing.expectEqual(@as(u64, 2), archive.committed_seq.load(.acquire)); try testing.expectEqual(@as(?i64, 77), try cursor.load(io)); @@ -204,7 +204,7 @@ test "large repair keeps wire encoding scratch bounded" { .upstream_seq = 4096, }; - try ingest.Consumer.emitRepair(&consumer, &completion, @import("observability.zig").root_context); + try ingest.Consumer.emitRepair(&consumer, &completion, @import("../runtime/observability.zig").root_context); try testing.expectEqual(@as(u64, 4097), archive.committed_seq.load(.acquire)); try testing.expectEqual(@as(?i64, 4096), try cursor.load(io)); try testing.expect(repair_alloc.total_requested_bytes < 256 * 1024); diff --git a/src/internal/verify.zig b/src/internal/ingest/verify.zig similarity index 99% rename from src/internal/verify.zig rename to src/internal/ingest/verify.zig index 627380d..ecbec93 100644 --- a/src/internal/verify.zig +++ b/src/internal/ingest/verify.zig @@ -16,10 +16,10 @@ //! const std = @import("std"); const zat = @import("zat"); -const lru = @import("lru.zig"); -const metrics = @import("metrics.zig"); -const meta_store = @import("meta_store.zig"); -const repos = @import("bootstrap/repos.zig"); +const lru = @import("../storage/lru.zig"); +const metrics = @import("../runtime/metrics.zig"); +const meta_store = @import("../storage/meta_store.zig"); +const repos = @import("../bootstrap/repos.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/crashpoint.zig b/src/internal/runtime/crashpoint.zig similarity index 100% rename from src/internal/crashpoint.zig rename to src/internal/runtime/crashpoint.zig diff --git a/src/internal/environment.zig b/src/internal/runtime/environment.zig similarity index 100% rename from src/internal/environment.zig rename to src/internal/runtime/environment.zig diff --git a/src/internal/inspect_all.zig b/src/internal/runtime/inspect_all.zig similarity index 99% rename from src/internal/inspect_all.zig rename to src/internal/runtime/inspect_all.zig index 44b9efb..55a0131 100644 --- a/src/internal/inspect_all.zig +++ b/src/internal/runtime/inspect_all.zig @@ -6,7 +6,7 @@ const std = @import("std"); const operational = @import("operational.zig"); -const segment_writer = @import("segment_writer.zig"); +const segment_writer = @import("../storage/segment_writer.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; diff --git a/src/internal/logging.zig b/src/internal/runtime/logging.zig similarity index 100% rename from src/internal/logging.zig rename to src/internal/runtime/logging.zig diff --git a/src/internal/metrics.zig b/src/internal/runtime/metrics.zig similarity index 99% rename from src/internal/metrics.zig rename to src/internal/runtime/metrics.zig index 2accb38..9bf62b9 100644 --- a/src/internal/metrics.zig +++ b/src/internal/runtime/metrics.zig @@ -10,9 +10,9 @@ const std = @import("std"); const build_options = @import("build_options"); -const convert = @import("convert.zig"); +const convert = @import("../ingest/convert.zig"); const process_metrics = @import("process_metrics.zig"); -const timestamp_parse = @import("timestamp/parse.zig"); +const timestamp_parse = @import("../timestamp/parse.zig"); const Io = std.Io; diff --git a/src/internal/observability.zig b/src/internal/runtime/observability.zig similarity index 100% rename from src/internal/observability.zig rename to src/internal/runtime/observability.zig diff --git a/src/internal/operational.zig b/src/internal/runtime/operational.zig similarity index 99% rename from src/internal/operational.zig rename to src/internal/runtime/operational.zig index e405562..cf4b66c 100644 --- a/src/internal/operational.zig +++ b/src/internal/runtime/operational.zig @@ -6,8 +6,8 @@ const std = @import("std"); const build_options = @import("build_options"); -const segment = @import("segment.zig"); -const segment_writer = @import("segment_writer.zig"); +const segment = @import("../storage/segment.zig"); +const segment_writer = @import("../storage/segment_writer.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; diff --git a/src/internal/process_metrics.zig b/src/internal/runtime/process_metrics.zig similarity index 100% rename from src/internal/process_metrics.zig rename to src/internal/runtime/process_metrics.zig diff --git a/src/internal/tracing_integration_test.zig b/src/internal/runtime/tracing_integration_test.zig similarity index 97% rename from src/internal/tracing_integration_test.zig rename to src/internal/runtime/tracing_integration_test.zig index 83b3de5..00175b9 100644 --- a/src/internal/tracing_integration_test.zig +++ b/src/internal/runtime/tracing_integration_test.zig @@ -1,7 +1,7 @@ const std = @import("std"); -const archive_mod = @import("archive.zig"); +const archive_mod = @import("../storage/archive.zig"); const observability = @import("observability.zig"); -const segment = @import("segment.zig"); +const segment = @import("../storage/segment.zig"); const Io = std.Io; diff --git a/src/internal/filter.zig b/src/internal/serve/filter.zig similarity index 100% rename from src/internal/filter.zig rename to src/internal/serve/filter.zig diff --git a/src/internal/homepage.zig b/src/internal/serve/homepage.zig similarity index 100% rename from src/internal/homepage.zig rename to src/internal/serve/homepage.zig diff --git a/src/internal/http_time.zig b/src/internal/serve/http_time.zig similarity index 100% rename from src/internal/http_time.zig rename to src/internal/serve/http_time.zig diff --git a/src/internal/repo_action_limiter.zig b/src/internal/serve/repo_action_limiter.zig similarity index 100% rename from src/internal/repo_action_limiter.zig rename to src/internal/serve/repo_action_limiter.zig diff --git a/src/internal/repo_export.zig b/src/internal/serve/repo_export.zig similarity index 99% rename from src/internal/repo_export.zig rename to src/internal/serve/repo_export.zig index 5ed723a..0891fd8 100644 --- a/src/internal/repo_export.zig +++ b/src/internal/serve/repo_export.zig @@ -8,10 +8,10 @@ const std = @import("std"); const zat = @import("zat"); -const archive_mod = @import("archive.zig"); -const gloom = @import("gloom.zig"); -const segment = @import("segment.zig"); -const writer_mod = @import("segment_writer.zig"); +const archive_mod = @import("../storage/archive.zig"); +const gloom = @import("../storage/gloom.zig"); +const segment = @import("../storage/segment.zig"); +const writer_mod = @import("../storage/segment_writer.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; diff --git a/src/internal/server.zig b/src/internal/serve/server.zig similarity index 99% rename from src/internal/server.zig rename to src/internal/serve/server.zig index e3eb70c..c486c0d 100644 --- a/src/internal/server.zig +++ b/src/internal/serve/server.zig @@ -11,23 +11,23 @@ const std = @import("std"); const websocket = @import("websocket"); const zat = @import("zat"); -const archive_mod = @import("archive.zig"); -const cold = @import("cold.zig"); -const disk_space = @import("disk_space.zig"); +const archive_mod = @import("../storage/archive.zig"); +const cold = @import("../storage/cold.zig"); +const disk_space = @import("../storage/disk_space.zig"); const filter_mod = @import("filter.zig"); const homepage = @import("homepage.zig"); const http_time = @import("http_time.zig"); -const metrics = @import("metrics.zig"); -const process_metrics = @import("process_metrics.zig"); +const metrics = @import("../runtime/metrics.zig"); +const process_metrics = @import("../runtime/process_metrics.zig"); const repo_action_limiter = @import("repo_action_limiter.zig"); const repo_export = @import("repo_export.zig"); -const repo_store = @import("bootstrap/repo_store.zig"); -const phase_mod = @import("bootstrap/phase.zig"); +const repo_store = @import("../bootstrap/repo_store.zig"); +const phase_mod = @import("../bootstrap/phase.zig"); const status_page = @import("status_page.zig"); const tail_mod = @import("tail.zig"); const wire = @import("wire.zig"); const xrpcapi = @import("xrpcapi.zig"); -const zstd = @import("zstd.zig"); +const zstd = @import("../storage/zstd.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; @@ -2056,7 +2056,7 @@ test "accounts HTTP route verifies real archive state and rate limits by port-fr .payload = record, }, 1); - const meta_store = @import("meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var meta = try meta_store.Store.open(testing.allocator, data_dir); defer meta.deinit(); var repo_status = try repo_store.Store.init(testing.allocator, io, &meta); diff --git a/src/internal/status_page.zig b/src/internal/serve/status_page.zig similarity index 99% rename from src/internal/status_page.zig rename to src/internal/serve/status_page.zig index 0ddb08b..1a7e191 100644 --- a/src/internal/status_page.zig +++ b/src/internal/serve/status_page.zig @@ -8,7 +8,7 @@ const std = @import("std"); const zat = @import("zat"); const repo_export = @import("repo_export.zig"); -const repo_store = @import("bootstrap/repo_store.zig"); +const repo_store = @import("../bootstrap/repo_store.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; @@ -589,7 +589,7 @@ test "resolver-less account lookup uses the durable handle index and renders exa defer tmp.cleanup(); var path_buf: [Io.Dir.max_path_bytes]u8 = undefined; const path_len = try tmp.dir.realPath(io, &path_buf); - const meta_store = @import("meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var meta = try meta_store.Store.open(testing.allocator, path_buf[0..path_len]); defer meta.deinit(); var store = try repo_store.Store.init(testing.allocator, io, &meta); @@ -649,7 +649,7 @@ test "account lookup validates DID and reports a resolved DID missing locally" { defer tmp.cleanup(); var path_buf: [Io.Dir.max_path_bytes]u8 = undefined; const path_len = try tmp.dir.realPath(io, &path_buf); - const meta_store = @import("meta_store.zig"); + const meta_store = @import("../storage/meta_store.zig"); var meta = try meta_store.Store.open(testing.allocator, path_buf[0..path_len]); defer meta.deinit(); var store = try repo_store.Store.init(testing.allocator, io, &meta); diff --git a/src/internal/tail.zig b/src/internal/serve/tail.zig similarity index 100% rename from src/internal/tail.zig rename to src/internal/serve/tail.zig diff --git a/src/internal/wire.zig b/src/internal/serve/wire.zig similarity index 100% rename from src/internal/wire.zig rename to src/internal/serve/wire.zig diff --git a/src/internal/xrpcapi.zig b/src/internal/serve/xrpcapi.zig similarity index 98% rename from src/internal/xrpcapi.zig rename to src/internal/serve/xrpcapi.zig index f3329bd..92c3340 100644 --- a/src/internal/xrpcapi.zig +++ b/src/internal/serve/xrpcapi.zig @@ -11,15 +11,15 @@ //! contract, including multipart/byteranges and mixed overlap handling. const std = @import("std"); -const archive_mod = @import("archive.zig"); -const segment = @import("segment.zig"); -const import_manager = @import("timestamp/manager.zig"); -const import_jobs = @import("timestamp/jobs.zig"); +const archive_mod = @import("../storage/archive.zig"); +const segment = @import("../storage/segment.zig"); +const import_manager = @import("../timestamp/manager.zig"); +const import_jobs = @import("../timestamp/jobs.zig"); const http_time = @import("http_time.zig"); -const metrics = @import("metrics.zig"); -const observability = @import("observability.zig"); -const time_format = @import("bootstrap/resync.zig"); -const zstd = @import("zstd.zig"); +const metrics = @import("../runtime/metrics.zig"); +const observability = @import("../runtime/observability.zig"); +const time_format = @import("../bootstrap/resync.zig"); +const zstd = @import("../storage/zstd.zig"); const Io = std.Io; const Allocator = std.mem.Allocator; @@ -872,8 +872,8 @@ test "checksumHex is 16 lowercase hex chars" { // === planBackfill (procedure: POST, JSON body) === -const gloom = @import("gloom.zig"); -const zstd_mod = @import("zstd.zig"); +const gloom = @import("../storage/gloom.zig"); +const zstd_mod = @import("../storage/zstd.zig"); pub const PlanRequest = struct { dids: []const []const u8 = &.{}, @@ -885,7 +885,7 @@ pub const PlanRequest = struct { /// Render the listSegments body. Failures propagate so the caller answers /// 500; returning without responding would drop the request entirely. fn renderSegments( - summaries: []const @import("manifest.zig").Summary, + summaries: []const @import("../storage/manifest.zig").Summary, limit: usize, after: ?u64, out: *Io.Writer.Allocating, @@ -977,7 +977,7 @@ fn renderPlan( plan: PlanConfig, alloc: Allocator, req: PlanRequest, - resident: []@import("manifest.zig").PlanningSegment, + resident: []@import("../storage/manifest.zig").PlanningSegment, out: *Io.Writer.Allocating, ) !void { var s: std.json.Stringify = .{ .writer = &out.writer }; @@ -1099,7 +1099,7 @@ fn renderPlan( /// which blocks of `sealed` may contain matching rows: seq-window pruned, /// collection-bitmask intersected, per-block DID blooms consulted (a "no" /// skips for certain — the no-false-negative contract at work) -fn matchBlocks(alloc: Allocator, sealed: *const @import("manifest.zig").PlanningSegment, req: PlanRequest) ![]bool { +fn matchBlocks(alloc: Allocator, sealed: *const @import("../storage/manifest.zig").PlanningSegment, req: PlanRequest) ![]bool { const matched = try alloc.alloc(bool, sealed.blocks.len); @memset(matched, true); @@ -1278,7 +1278,7 @@ test "plan block ranges use lexicon first and last fields" { fn planFixture( blocks: []const segment.BlockIndexEntry, ci: *const segment.CollectionIndex, -) @import("manifest.zig").PlanningSegment { +) @import("../storage/manifest.zig").PlanningSegment { return .{ .resident = undefined, .summary = .{ .idx = 0, .size = 0, .mtime = undefined, .header = undefined }, diff --git a/src/internal/archive.zig b/src/internal/storage/archive.zig similarity index 99% rename from src/internal/archive.zig rename to src/internal/storage/archive.zig index ac1d0be..6162b77 100644 --- a/src/internal/archive.zig +++ b/src/internal/storage/archive.zig @@ -16,8 +16,8 @@ const std = @import("std"); const segment = @import("segment.zig"); const writer_mod = @import("segment_writer.zig"); -const metrics = @import("metrics.zig"); -const observability = @import("observability.zig"); +const metrics = @import("../runtime/metrics.zig"); +const observability = @import("../runtime/observability.zig"); const manifest_mod = @import("manifest.zig"); const segment_io = @import("segment_io.zig"); diff --git a/src/internal/cold.zig b/src/internal/storage/cold.zig similarity index 99% rename from src/internal/cold.zig rename to src/internal/storage/cold.zig index 8407a70..a5f7dbb 100644 --- a/src/internal/cold.zig +++ b/src/internal/storage/cold.zig @@ -14,13 +14,13 @@ const std = @import("std"); const zat = @import("zat"); -const filter_mod = @import("filter.zig"); +const filter_mod = @import("../serve/filter.zig"); const segment = @import("segment.zig"); const archive_mod = @import("archive.zig"); const rewrite_mod = @import("segment_rewrite.zig"); const cold_cache = @import("cold_cache.zig"); -const wire = @import("wire.zig"); -const tail = @import("tail.zig"); +const wire = @import("../serve/wire.zig"); +const tail = @import("../serve/tail.zig"); const zstd = @import("zstd.zig"); const Io = std.Io; diff --git a/src/internal/cold_cache.zig b/src/internal/storage/cold_cache.zig similarity index 100% rename from src/internal/cold_cache.zig rename to src/internal/storage/cold_cache.zig diff --git a/src/internal/disk_space.zig b/src/internal/storage/disk_space.zig similarity index 100% rename from src/internal/disk_space.zig rename to src/internal/storage/disk_space.zig diff --git a/src/internal/gloom.zig b/src/internal/storage/gloom.zig similarity index 100% rename from src/internal/gloom.zig rename to src/internal/storage/gloom.zig diff --git a/src/internal/lru.zig b/src/internal/storage/lru.zig similarity index 100% rename from src/internal/lru.zig rename to src/internal/storage/lru.zig diff --git a/src/internal/manifest.zig b/src/internal/storage/manifest.zig similarity index 99% rename from src/internal/manifest.zig rename to src/internal/storage/manifest.zig index c9e2a48..25a61d1 100644 --- a/src/internal/manifest.zig +++ b/src/internal/storage/manifest.zig @@ -7,7 +7,7 @@ //! refcounted block-index handle remains valid across concurrent refreshes. const std = @import("std"); -const metrics = @import("metrics.zig"); +const metrics = @import("../runtime/metrics.zig"); const segment = @import("segment.zig"); const gloom = @import("gloom.zig"); diff --git a/src/internal/meta_store.zig b/src/internal/storage/meta_store.zig similarity index 99% rename from src/internal/meta_store.zig rename to src/internal/storage/meta_store.zig index c2906d9..1b634f0 100644 --- a/src/internal/meta_store.zig +++ b/src/internal/storage/meta_store.zig @@ -7,7 +7,7 @@ const std = @import("std"); const rocksdb = @import("rocksdb"); -const metrics = @import("metrics.zig"); +const metrics = @import("../runtime/metrics.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; diff --git a/src/internal/segment.zig b/src/internal/storage/segment.zig similarity index 100% rename from src/internal/segment.zig rename to src/internal/storage/segment.zig diff --git a/src/internal/segment_fixture_test.zig b/src/internal/storage/segment_fixture_test.zig similarity index 100% rename from src/internal/segment_fixture_test.zig rename to src/internal/storage/segment_fixture_test.zig diff --git a/src/internal/segment_footer.zig b/src/internal/storage/segment_footer.zig similarity index 100% rename from src/internal/segment_footer.zig rename to src/internal/storage/segment_footer.zig diff --git a/src/internal/segment_io.zig b/src/internal/storage/segment_io.zig similarity index 100% rename from src/internal/segment_io.zig rename to src/internal/storage/segment_io.zig diff --git a/src/internal/segment_patch.zig b/src/internal/storage/segment_patch.zig similarity index 99% rename from src/internal/segment_patch.zig rename to src/internal/storage/segment_patch.zig index 7aadfe0..ad24c45 100644 --- a/src/internal/segment_patch.zig +++ b/src/internal/storage/segment_patch.zig @@ -8,7 +8,7 @@ //! + parent-directory fsync. const std = @import("std"); -const crashpoint = @import("crashpoint.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); const gloom = @import("gloom.zig"); const segment = @import("segment.zig"); const writer = @import("segment_writer.zig"); diff --git a/src/internal/segment_rewrite.zig b/src/internal/storage/segment_rewrite.zig similarity index 99% rename from src/internal/segment_rewrite.zig rename to src/internal/storage/segment_rewrite.zig index 0d802b2..f7aeec5 100644 --- a/src/internal/segment_rewrite.zig +++ b/src/internal/storage/segment_rewrite.zig @@ -15,7 +15,7 @@ //! ("clean" — rewritten=false). const std = @import("std"); -const crashpoint = @import("crashpoint.zig"); +const crashpoint = @import("../runtime/crashpoint.zig"); const footer_mod = @import("segment_footer.zig"); const gloom = @import("gloom.zig"); const segment = @import("segment.zig"); diff --git a/src/internal/segment_writer.zig b/src/internal/storage/segment_writer.zig similarity index 100% rename from src/internal/segment_writer.zig rename to src/internal/storage/segment_writer.zig diff --git a/src/internal/tombstone.zig b/src/internal/storage/tombstone.zig similarity index 100% rename from src/internal/tombstone.zig rename to src/internal/storage/tombstone.zig diff --git a/src/internal/xxhash128.zig b/src/internal/storage/xxhash128.zig similarity index 100% rename from src/internal/xxhash128.zig rename to src/internal/storage/xxhash128.zig diff --git a/src/internal/zstd.zig b/src/internal/storage/zstd.zig similarity index 98% rename from src/internal/zstd.zig rename to src/internal/storage/zstd.zig index 722b03e..35ccc0c 100644 --- a/src/internal/zstd.zig +++ b/src/internal/storage/zstd.zig @@ -139,9 +139,9 @@ pub const DictCompressor = struct { } }; -pub const v1_dictionary = @embedFile("../assets/zstd_dictionary"); +pub const v1_dictionary = @embedFile("../../assets/zstd_dictionary"); -const v2_dictionary_b64 = @embedFile("../assets/zstd_dictionary_v2.b64"); +const v2_dictionary_b64 = @embedFile("../../assets/zstd_dictionary_v2.b64"); pub const v2_dictionary = blk: { @setEvalBranchQuota(200_000); const decoder = std.base64.standard.decoderWithIgnore("\r\n"); diff --git a/src/internal/timestamp/apply.zig b/src/internal/timestamp/apply.zig index bd23218..55e8544 100644 --- a/src/internal/timestamp/apply.zig +++ b/src/internal/timestamp/apply.zig @@ -8,8 +8,8 @@ const std = @import("std"); const bucket = @import("bucket.zig"); const parse = @import("parse.zig"); -const segment = @import("../segment.zig"); -const patch_mod = @import("../segment_patch.zig"); +const segment = @import("../storage/segment.zig"); +const patch_mod = @import("../storage/segment_patch.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; @@ -234,7 +234,7 @@ fn isMaterialization(kind: segment.Kind) bool { // === offline disk-to-disk tests === const testing = std.testing; -const writer = @import("../segment_writer.zig"); +const writer = @import("../storage/segment_writer.zig"); const zat = @import("zat"); fn makeEvent(seq: u64, kind: segment.Kind, did: []const u8, rkey: []const u8, payload: []const u8) segment.Event { @@ -291,11 +291,11 @@ test "parse bucket seek plan and patch preserve upstream timestamp semantics" { const cid_a_raw = try zat.cbor.Cid.forDagCbor(testing.allocator, payload_a); defer testing.allocator.free(@constCast(cid_a_raw.raw)); - const cid_a = try @import("../wire.zig").cidString(testing.allocator, cid_a_raw); + const cid_a = try @import("../serve/wire.zig").cidString(testing.allocator, cid_a_raw); defer testing.allocator.free(cid_a); const unmatched_raw = try zat.cbor.Cid.forDagCbor(testing.allocator, "unmatched"); defer testing.allocator.free(@constCast(unmatched_raw.raw)); - const unmatched = try @import("../wire.zig").cidString(testing.allocator, unmatched_raw); + const unmatched = try @import("../serve/wire.zig").cidString(testing.allocator, unmatched_raw); defer testing.allocator.free(unmatched); const csv = try std.fmt.allocPrint(testing.allocator, "uri,timestamp,scope,cid\n" ++ "at://did:plc:a/app.bsky.feed.post/r1,2020-01-01T00:00:00Z,all_versions,\n" ++ diff --git a/src/internal/timestamp/bucket.zig b/src/internal/timestamp/bucket.zig index 902782e..0227d05 100644 --- a/src/internal/timestamp/bucket.zig +++ b/src/internal/timestamp/bucket.zig @@ -8,8 +8,8 @@ //! are stamped by the durable append rule store. const std = @import("std"); -const gloom = @import("../gloom.zig"); -const segment = @import("../segment.zig"); +const gloom = @import("../storage/gloom.zig"); +const segment = @import("../storage/segment.zig"); const parse = @import("parse.zig"); const Allocator = std.mem.Allocator; @@ -344,7 +344,7 @@ fn syncDir(io: Io, dir: Io.Dir) !void { test "catalog discovers real base-36 segment names beyond nine" { const testing = std.testing; - const writer = @import("../segment_writer.zig"); + const writer = @import("../storage/segment_writer.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); diff --git a/src/internal/timestamp/jobs.zig b/src/internal/timestamp/jobs.zig index b97d49e..02edfcf 100644 --- a/src/internal/timestamp/jobs.zig +++ b/src/internal/timestamp/jobs.zig @@ -10,7 +10,7 @@ const std = @import("std"); const rocksdb = @import("rocksdb"); -const meta_store = @import("../meta_store.zig"); +const meta_store = @import("../storage/meta_store.zig"); const parse = @import("parse.zig"); const Allocator = std.mem.Allocator; diff --git a/src/internal/timestamp/manager.zig b/src/internal/timestamp/manager.zig index 14235a3..8608314 100644 --- a/src/internal/timestamp/manager.zig +++ b/src/internal/timestamp/manager.zig @@ -9,7 +9,7 @@ const std = @import("std"); const import_path = @import("import_path.zig"); const jobs_mod = @import("jobs.zig"); const runner = @import("runner.zig"); -const observability = @import("../observability.zig"); +const observability = @import("../runtime/observability.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; @@ -196,10 +196,10 @@ fn newJobId(allocator: Allocator, io: Io) ![]u8 { test "manager submits real work and adopts a durable incomplete job" { const testing = std.testing; - const archive_mod = @import("../archive.zig"); - const meta_store = @import("../meta_store.zig"); + const archive_mod = @import("../storage/archive.zig"); + const meta_store = @import("../storage/meta_store.zig"); const rules_mod = @import("rules.zig"); - const metrics = @import("../metrics.zig"); + const metrics = @import("../runtime/metrics.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); diff --git a/src/internal/timestamp/rules.zig b/src/internal/timestamp/rules.zig index d60fdb9..264b80a 100644 --- a/src/internal/timestamp/rules.zig +++ b/src/internal/timestamp/rules.zig @@ -6,7 +6,7 @@ const std = @import("std"); const rdb = @import("rocksdb_raw"); -const segment = @import("../segment.zig"); +const segment = @import("../storage/segment.zig"); const parse_mod = @import("parse.zig"); const Allocator = std.mem.Allocator; @@ -553,7 +553,7 @@ test "specific version wins and misses fall back to all versions" { const payload_v1 = "payload-v1"; const parsed_cid = try @import("zat").cbor.Cid.forDagCbor(testing.allocator, payload_v1); defer testing.allocator.free(@constCast(parsed_cid.raw)); - const cid = try @import("../wire.zig").cidString(testing.allocator, parsed_cid); + const cid = try @import("../serve/wire.zig").cidString(testing.allocator, parsed_cid); defer testing.allocator.free(cid); const csv = try std.fmt.allocPrint(testing.allocator, "uri,timestamp,scope,cid\n" ++ "at://{s}/{s}/{s},2021-12-20T11:33:20Z,all_versions,\n" ++ @@ -679,8 +679,8 @@ test "rule ingestion observes cancellation without publishing partial rules" { test "archive transaction stamps caller, writer memory, and durable JSS row identically" { const testing = std.testing; - const archive_mod = @import("../archive.zig"); - const writer_mod = @import("../segment_writer.zig"); + const archive_mod = @import("../storage/archive.zig"); + const writer_mod = @import("../storage/segment_writer.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); diff --git a/src/internal/timestamp/runner.zig b/src/internal/timestamp/runner.zig index 55217ea..0b0ad40 100644 --- a/src/internal/timestamp/runner.zig +++ b/src/internal/timestamp/runner.zig @@ -7,14 +7,14 @@ //! files and RocksDB markers. const std = @import("std"); -const archive_mod = @import("../archive.zig"); +const archive_mod = @import("../storage/archive.zig"); const apply = @import("apply.zig"); const bucket = @import("bucket.zig"); const jobs_mod = @import("jobs.zig"); const parse = @import("parse.zig"); const rules_mod = @import("rules.zig"); -const metrics = @import("../metrics.zig"); -const observability = @import("../observability.zig"); +const metrics = @import("../runtime/metrics.zig"); +const observability = @import("../runtime/observability.zig"); const Allocator = std.mem.Allocator; const Io = std.Io; @@ -337,8 +337,8 @@ fn cleanup(config: Config, id: []const u8) !void { test "real import pauses after durable patch and resumes after full reopen" { const testing = std.testing; - const meta_store = @import("../meta_store.zig"); - const segment = @import("../segment.zig"); + const meta_store = @import("../storage/meta_store.zig"); + const segment = @import("../storage/segment.zig"); var threaded: Io.Threaded = .init(testing.allocator, .{}); defer threaded.deinit(); const io = threaded.io(); diff --git a/src/main.zig b/src/main.zig index 69522b6..1bac5f5 100644 --- a/src/main.zig +++ b/src/main.zig @@ -3,35 +3,35 @@ const std = @import("std"); const zat = @import("zat"); const websocket = @import("websocket"); -const archive_mod = @import("internal/archive.zig"); +const archive_mod = @import("internal/storage/archive.zig"); const lifecycle = @import("internal/bootstrap/lifecycle.zig"); const repo_store = @import("internal/bootstrap/repo_store.zig"); const phase_mod = @import("internal/bootstrap/phase.zig"); const retry_mod = @import("internal/bootstrap/retry.zig"); const backfill_engine = @import("internal/bootstrap/engine.zig"); -const crashpoint = @import("internal/crashpoint.zig"); -const cursor_mod = @import("internal/cursor.zig"); -const ingest = @import("internal/ingest.zig"); -const verify = @import("internal/verify.zig"); -const xrpcapi = @import("internal/xrpcapi.zig"); -const metrics = @import("internal/metrics.zig"); -const meta_store = @import("internal/meta_store.zig"); -const pipeline_mod = @import("internal/pipeline.zig"); -const repair_mod = @import("internal/repair.zig"); -const server_mod = @import("internal/server.zig"); -const segment_io = @import("internal/segment_io.zig"); +const crashpoint = @import("internal/runtime/crashpoint.zig"); +const cursor_mod = @import("internal/ingest/cursor.zig"); +const ingest = @import("internal/ingest/ingest.zig"); +const verify = @import("internal/ingest/verify.zig"); +const xrpcapi = @import("internal/serve/xrpcapi.zig"); +const metrics = @import("internal/runtime/metrics.zig"); +const meta_store = @import("internal/storage/meta_store.zig"); +const pipeline_mod = @import("internal/ingest/pipeline.zig"); +const repair_mod = @import("internal/ingest/repair.zig"); +const server_mod = @import("internal/serve/server.zig"); +const segment_io = @import("internal/storage/segment_io.zig"); const compact_pass = @import("internal/compact/pass.zig"); -const cold = @import("internal/cold.zig"); +const cold = @import("internal/storage/cold.zig"); const steady_mod = @import("internal/compact/steady.zig"); -const tail_mod = @import("internal/tail.zig"); +const tail_mod = @import("internal/serve/tail.zig"); const timestamp_rules = @import("internal/timestamp/rules.zig"); const timestamp_jobs = @import("internal/timestamp/jobs.zig"); const timestamp_manager = @import("internal/timestamp/manager.zig"); -const operational = @import("internal/operational.zig"); -const inspect_all = @import("internal/inspect_all.zig"); -const logging = @import("internal/logging.zig"); -const environment = @import("internal/environment.zig"); -const observability = @import("internal/observability.zig"); +const operational = @import("internal/runtime/operational.zig"); +const inspect_all = @import("internal/runtime/inspect_all.zig"); +const logging = @import("internal/runtime/logging.zig"); +const environment = @import("internal/runtime/environment.zig"); +const observability = @import("internal/runtime/observability.zig"); const build_options = @import("build_options"); const Io = std.Io; diff --git a/src/tests.zig b/src/tests.zig index 23c99a8..294bb98 100644 --- a/src/tests.zig +++ b/src/tests.zig @@ -1,17 +1,17 @@ comptime { _ = @import("main.zig"); - _ = @import("internal/ingest.zig"); - _ = @import("internal/cursor.zig"); - _ = @import("internal/meta_store.zig"); - _ = @import("internal/metrics.zig"); - _ = @import("internal/pipeline.zig"); - _ = @import("internal/repair.zig"); - _ = @import("internal/repair_integration_test.zig"); - _ = @import("internal/segment.zig"); - _ = @import("internal/zstd.zig"); - _ = @import("internal/xxhash128.zig"); - _ = @import("internal/gloom.zig"); - _ = @import("internal/lru.zig"); + _ = @import("internal/ingest/ingest.zig"); + _ = @import("internal/ingest/cursor.zig"); + _ = @import("internal/storage/meta_store.zig"); + _ = @import("internal/runtime/metrics.zig"); + _ = @import("internal/ingest/pipeline.zig"); + _ = @import("internal/ingest/repair.zig"); + _ = @import("internal/ingest/repair_integration_test.zig"); + _ = @import("internal/storage/segment.zig"); + _ = @import("internal/storage/zstd.zig"); + _ = @import("internal/storage/xxhash128.zig"); + _ = @import("internal/storage/gloom.zig"); + _ = @import("internal/storage/lru.zig"); _ = @import("internal/bootstrap/phase.zig"); _ = @import("internal/bootstrap/repo_store.zig"); _ = @import("internal/bootstrap/repos.zig"); @@ -24,31 +24,31 @@ comptime { _ = @import("internal/bootstrap/resync.zig"); _ = @import("internal/bootstrap/retry.zig"); _ = @import("internal/bootstrap/lifecycle.zig"); - _ = @import("internal/archive.zig"); - _ = @import("internal/manifest.zig"); - _ = @import("internal/tombstone.zig"); - _ = @import("internal/segment_writer.zig"); - _ = @import("internal/segment_rewrite.zig"); - _ = @import("internal/segment_patch.zig"); + _ = @import("internal/storage/archive.zig"); + _ = @import("internal/storage/manifest.zig"); + _ = @import("internal/storage/tombstone.zig"); + _ = @import("internal/storage/segment_writer.zig"); + _ = @import("internal/storage/segment_rewrite.zig"); + _ = @import("internal/storage/segment_patch.zig"); _ = @import("internal/compact/watermark.zig"); _ = @import("internal/compact/pass.zig"); _ = @import("internal/compact/steady.zig"); - _ = @import("internal/segment_fixture_test.zig"); - _ = @import("internal/operational.zig"); - _ = @import("internal/observability.zig"); - _ = @import("internal/tracing_integration_test.zig"); - _ = @import("internal/inspect_all.zig"); - _ = @import("internal/verify.zig"); - _ = @import("internal/wire.zig"); - _ = @import("internal/convert.zig"); - _ = @import("internal/filter.zig"); - _ = @import("internal/tail.zig"); - _ = @import("internal/server.zig"); - _ = @import("internal/status_page.zig"); - _ = @import("internal/repo_export.zig"); - _ = @import("internal/repo_action_limiter.zig"); - _ = @import("internal/xrpcapi.zig"); - _ = @import("internal/homepage.zig"); + _ = @import("internal/storage/segment_fixture_test.zig"); + _ = @import("internal/runtime/operational.zig"); + _ = @import("internal/runtime/observability.zig"); + _ = @import("internal/runtime/tracing_integration_test.zig"); + _ = @import("internal/runtime/inspect_all.zig"); + _ = @import("internal/ingest/verify.zig"); + _ = @import("internal/serve/wire.zig"); + _ = @import("internal/ingest/convert.zig"); + _ = @import("internal/serve/filter.zig"); + _ = @import("internal/serve/tail.zig"); + _ = @import("internal/serve/server.zig"); + _ = @import("internal/serve/status_page.zig"); + _ = @import("internal/serve/repo_export.zig"); + _ = @import("internal/serve/repo_action_limiter.zig"); + _ = @import("internal/serve/xrpcapi.zig"); + _ = @import("internal/serve/homepage.zig"); _ = @import("internal/timestamp/parse.zig"); _ = @import("internal/timestamp/bucket.zig"); _ = @import("internal/timestamp/apply.zig"); diff --git a/src/write_sample.zig b/src/write_sample.zig index 6e43c1a..4d12475 100644 --- a/src/write_sample.zig +++ b/src/write_sample.zig @@ -3,9 +3,9 @@ //! inspect-segment; see docs/jss-format-v1.md) const std = @import("std"); -const archive_mod = @import("internal/archive.zig"); -const segment = @import("internal/segment.zig"); -const writer_mod = @import("internal/segment_writer.zig"); +const archive_mod = @import("internal/storage/archive.zig"); +const segment = @import("internal/storage/segment.zig"); +const writer_mod = @import("internal/storage/segment_writer.zig"); pub fn main(init: std.process.Init.Minimal) !void { const allocator = std.heap.c_allocator; @@ -21,7 +21,7 @@ pub fn main(init: std.process.Init.Minimal) !void { if (std.mem.eql(u8, path, "--parse")) { const car_path = args.next() orelse return error.MissingPath; const repos = @import("internal/bootstrap/repos.zig"); - const seg = @import("internal/segment.zig"); + const seg = @import("internal/storage/segment.zig"); var arena = std.heap.ArenaAllocator.init(allocator); defer arena.deinit(); const bytes = try std.Io.Dir.cwd().readFileAlloc(io, car_path, arena.allocator(), .limited(1 << 30)); @@ -68,7 +68,7 @@ pub fn main(init: std.process.Init.Minimal) !void { // --status