Changes
5 changed files (+19/-9)
-
-
@@ -80,7 +80,7 @@ }const server = find_result.servers_ptr[0]; const conn = core.connection.Connection.make(server) orelse { const conn = core.connection.Connection.make(server, null) orelse { std.log.err("Unable to connect: Out of memory", .{}); return ExitCode.out_of_memory; };
-
-
-
@@ -344,8 +344,9 @@ subscription_id: u64 = 0,host: []const u8, zone_subscription_request_id: ?i64 = null, arc: Arc = .{}, saved_token: ?[]const u8 = null, fn init(server: *discovery.Server) !Internal { fn init(server: *discovery.Server, token: ?[]const u8) !Internal { var addr = std.ArrayList(u8).init(allocator); defer addr.deinit();
-
@@ -362,9 +363,15 @@const host = try allocator.dupe(u8, addr_string[0..port_start]); errdefer allocator.free(host); const saved_token = if (token) |t| try allocator.dupe(u8, t) else null; errdefer if (saved_token) |t| { allocator.free(t); }; return .{ .server = server.retain(), .host = host, .saved_token = saved_token, }; }
-
@@ -373,12 +380,16 @@ if (self.ws) |*ws| {ws.deinit(); } if (self.saved_token) |saved_token| { allocator.free(saved_token); } allocator.free(self.host); self.server.release(); } }; pub fn make(server_ptr: ?*discovery.Server) callconv(.C) ?*Connection { pub fn make(server_ptr: ?*discovery.Server, token: ?[*:0]const u8) callconv(.C) ?*Connection { const server = server_ptr orelse @panic( std.fmt.comptimePrint("Received null pointer on {s}_{s}", .{ cname, @src().fn_name }), );
-
@@ -390,7 +401,7 @@ allocator.destroy(self);return null; }; internal.* = Internal.init(server) catch |err| { internal.* = Internal.init(server, if (token) |t| std.mem.span(t) else null) catch |err| { std.log.err("Unable to establish connection to Roon Server: {s}", .{@errorName(err)}); allocator.destroy(internal); allocator.destroy(self);
-
@@ -431,8 +442,7 @@ std.fmt.comptimePrint("Received null pointer on {s}_{s}", .{ cname, @src().fn_name }),); var ws = self.internal.ws orelse { // TODO: Pass saved token const new_token = self.connect(null) catch |err| { const new_token = self.connect(self.internal.saved_token) catch |err| { std.log.err("Unable to connect: {s}", .{@errorName(err)}); const event = Event.makeConnectionError(err) catch |make_err| { std.log.err("Unable to compose {s} event: {s}", .{
-
-
-
@@ -140,7 +140,7 @@ plac_transport_zone_list_event *plac_connection_event_get_zone_list_event(plac_connection_event*);// connection.Connection typedef struct { void *__pri; } plac_connection; plac_connection *plac_connection_make(plac_discovery_server*); plac_connection *plac_connection_make(plac_discovery_server*, char *token); plac_connection *plac_connection_retain(plac_connection*); void plac_connection_release(plac_connection*); plac_connection_event *plac_connection_get_event(plac_connection*);
-
-
-
@@ -236,7 +236,7 @@ )][Compact] private class Connection { [CCode (cname = "plac_connection_make")] public Connection(Discovery.Server server); public Connection(Discovery.Server server, string? token); [CCode (cname = "plac_connection_retain")] public void @ref ();
-
-
-
@@ -36,7 +36,7 @@ private GLib.Thread<void>? thread;private bool is_closed; public AsyncConnection(Discovery.Server server) { this.conn = new Connection(server); this.conn = new Connection(server, null); this.thread = null; this.is_closed = false; }
-