@@ -42,7 +42,7 @@ const Options = struct {
42
42
options : Options ,
43
43
allocator : std.mem.Allocator ,
44
44
45
- data_dir : std.fs.Dir ,
45
+ dir : std.fs.Dir ,
46
46
47
47
oplog : Oplog ,
48
48
@@ -83,11 +83,11 @@ fn getMemorySegmentSize(segment: SharedPtr(MemorySegment)) usize {
83
83
return segment .value .getSize ();
84
84
}
85
85
86
- pub fn init (allocator : std.mem.Allocator , dir : std.fs.Dir , options : Options ) ! Self {
87
- var data_dir = try dir .makeOpenPath ("data" , .{ .iterate = true });
88
- errdefer data_dir .close ();
86
+ pub fn init (allocator : std.mem.Allocator , parent_dir : std.fs.Dir , path : [] const u8 , options : Options ) ! Self {
87
+ var dir = try parent_dir .makeOpenPath (path , .{ .iterate = true });
88
+ errdefer dir .close ();
89
89
90
- var oplog = try Oplog .init (allocator , data_dir );
90
+ var oplog = try Oplog .init (allocator , dir );
91
91
errdefer oplog .deinit ();
92
92
93
93
const memory_segments = try SegmentListManager (MemorySegment ).init (
@@ -105,7 +105,7 @@ pub fn init(allocator: std.mem.Allocator, dir: std.fs.Dir, options: Options) !Se
105
105
const file_segments = try SegmentListManager (FileSegment ).init (
106
106
allocator ,
107
107
.{
108
- .dir = data_dir ,
108
+ .dir = dir ,
109
109
},
110
110
.{
111
111
.min_segment_size = options .min_segment_size ,
@@ -118,7 +118,7 @@ pub fn init(allocator: std.mem.Allocator, dir: std.fs.Dir, options: Options) !Se
118
118
return .{
119
119
.options = options ,
120
120
.allocator = allocator ,
121
- .data_dir = data_dir ,
121
+ .dir = dir ,
122
122
.oplog = oplog ,
123
123
.segments_lock = .{},
124
124
.memory_segments = memory_segments ,
@@ -138,7 +138,7 @@ pub fn deinit(self: *Self) void {
138
138
self .file_segments .deinit ();
139
139
140
140
self .oplog .deinit ();
141
- self .data_dir .close ();
141
+ self .dir .close ();
142
142
}
143
143
144
144
pub const PendingUpdate = struct {
@@ -211,7 +211,7 @@ fn cancelUpdate(self: *Self, pending_update: *PendingUpdate) void {
211
211
}
212
212
213
213
fn loadSegment (self : * Self , segment_id : SegmentId ) ! FileSegmentNode {
214
- var node = try FileSegmentList .createSegment (self .allocator , .{ .dir = self .data_dir });
214
+ var node = try FileSegmentList .createSegment (self .allocator , .{ .dir = self .dir });
215
215
errdefer FileSegmentList .destroySegment (self .allocator , & node );
216
216
217
217
try node .value .open (segment_id );
@@ -223,7 +223,7 @@ fn loadSegments(self: *Self) !void {
223
223
self .segments_lock .lock ();
224
224
defer self .segments_lock .unlock ();
225
225
226
- const segment_ids = filefmt .readIndexFile (self .data_dir , self .allocator ) catch | err | {
226
+ const segment_ids = filefmt .readIndexFile (self .dir , self .allocator ) catch | err | {
227
227
if (err == error .FileNotFound ) {
228
228
if (self .options .create ) {
229
229
try self .updateIndexFile (self .file_segments .segments .value );
@@ -254,7 +254,7 @@ fn doCheckpoint(self: *Self) !bool {
254
254
255
255
// build new file segment
256
256
257
- var target = try FileSegmentList .createSegment (self .allocator , .{ .dir = self .data_dir });
257
+ var target = try FileSegmentList .createSegment (self .allocator , .{ .dir = self .dir });
258
258
errdefer FileSegmentList .destroySegment (self .allocator , & target );
259
259
260
260
var reader = source .value .reader ();
@@ -328,7 +328,7 @@ fn updateIndexFile(self: *Self, segments: *FileSegmentList) !void {
328
328
var ids = try segments .getIds (self .allocator );
329
329
defer ids .deinit (self .allocator );
330
330
331
- try filefmt .writeIndexFile (self .data_dir , ids .items );
331
+ try filefmt .writeIndexFile (self .dir , ids .items );
332
332
}
333
333
334
334
fn maybeMergeFileSegments (self : * Self ) ! bool {
0 commit comments