const std = @import("std"); const Lock = @import("./lock.zig").Lock; usingnamespace @import("./global.zig"); const Blob = @This(); ptr: [*]const u8, len: usize, pub const Map = struct { const MapContext = struct { pub fn hash(self: @This(), s: u64) u32 { return @truncate(u32, s); } pub fn eql(self: @This(), a: u64, b: u64) bool { return a == b; } }; const HashMap = std.ArrayHashMap(u64, Blob, MapContext, false); lock: Lock, map: HashMap, allocator: *std.mem.Allocator, pub fn init(allocator: *std.mem.Allocator) Map { return Map{ .lock = Lock.init(), .map = HashMap.init(allocator), .allocator = allocator, }; } pub fn get(this: *Map, key: string) ?Blob { this.lock.lock(); defer this.lock.unlock(); return this.map.get(std.hash.Wyhash.hash(0, key)); } pub fn put(this: *Map, key: string, blob: Blob) !void { this.lock.lock(); defer this.lock.unlock(); return try this.map.put(std.hash.Wyhash.hash(0, key), blob); } pub fn reset(this: *Map) !void { this.lock.lock(); defer this.lock.unlock(); this.map.clearRetainingCapacity(); } }; pub const Group = struct { persistent: Map, temporary: Map, allocator: *std.mem.Allocator, pub fn init(allocator: *std.mem.Allocator) !*Group { var group = try allocator.create(Group); group.* = Group{ .persistent = Map.init(allocator), .temporary = Map.init(allocator), .allocator = allocator }; return group; } pub fn get(this: *Group, key: string) ?Blob { return this.temporary.get(key) orelse this.persistent.get(key); } }; e-response-experiment Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/node-fallbacks (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-12-21Bun v0.4.0Gravatar Jarred Sumner 5-7/+7
2022-12-21fix jest hooks in bun-test (#1639)Gravatar Ethan Burrell 2-2/+79
2022-12-21[bunx] Install symlink with completionsGravatar Jarred Sumner 1-10/+65
2022-12-21[bunx] Make help a little prettierGravatar Jarred Sumner 2-18/+46
2022-12-20Refactor some of `bun pm`Gravatar Jarred Sumner 1-73/+58
2022-12-20Update ZigGlobalObject.cppGravatar Jarred Sumner 1-3/+3
2022-12-20typoGravatar Jarred Sumner 1-3/+3
2022-12-20[web] Support multiple arguments in `setTimeout`, `setInterval`, and `setImme...Gravatar Jarred Sumner 5-10/+139
2022-12-20add tests for #1633 (#1635)Gravatar Alex Lam S.L 3-11/+69
2022-12-20[bunx] Improve reliability by checking the `"bin"` from package.json if neces...Gravatar Jarred Sumner 2-10/+233
2022-12-20Fixes https://github.com/oven-sh/bun/issues/1636Gravatar Jarred Sumner 1-0/+2
2022-12-19Use endsWithGravatar Jarred Sumner 1-1/+2
2022-12-19New subcommand: `bunx` (#1634)Gravatar Jarred Sumner 6-142/+370
2022-12-19[Bun.write] Slightly better handling for older linux kernels that lack io_uri...Gravatar Jarred Sumner 2-2/+22
2022-12-18Regenerate builtinsGravatar Jarred Sumner 1-4/+27
2022-12-17bug compatible with `stdin.on("readable")` (#1626)Gravatar Alex Lam S.L 3-49/+95
2022-12-17Upgrade WebKitGravatar Jarred Sumner 6-28/+28
2022-12-17Update globals.d.tsGravatar Jarred Sumner 1-2/+5
2022-12-17Add warning in import.meta.requireGravatar Jarred Sumner 1-0/+5
2022-12-17Delete Oniguruma (#1625)Gravatar Jarred Sumner 69-3531/+19
2022-12-17Missing from commitGravatar Jarred Sumner 1-23/+22
2022-12-17Fixes https://github.com/oven-sh/bun/issues/1624Gravatar Jarred Sumner 1-41/+1
2022-12-17Regenerate builtinsGravatar Jarred Sumner 1-7/+2
2022-12-17Update transpiler.test.jsGravatar Jarred Sumner 1-17/+24
2022-12-17Update WebKitGravatar Jarred Sumner 6-28/+28