Skip to content

Commit 379691e

Browse files
committed
Make send_request async to avoid locking the main loop
1 parent a2e63f1 commit 379691e

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/rpc_client.vala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ namespace Dc {
9494
}
9595

9696
int id = next_id++;
97-
send_request (id, method, params);
97+
yield send_request (id, method, params);
9898

9999
var pc = new PendingCall (id);
100100
pc.callback = call.callback;
@@ -110,7 +110,7 @@ namespace Dc {
110110
return pc.result;
111111
}
112112

113-
private void send_request (int id, string method, Json.Node params) throws Error {
113+
private async void send_request (int id, string method, Json.Node params) throws Error {
114114
var b = new Json.Builder ();
115115
b.begin_object ();
116116
b.set_member_name ("jsonrpc"); b.add_string_value ("2.0");
@@ -126,8 +126,8 @@ namespace Dc {
126126
string line = json + "\n";
127127

128128
size_t written;
129-
writer.write_all (line.data, out written);
130-
writer.flush ();
129+
yield writer.write_all_async (line.data, Priority.DEFAULT, null, out written);
130+
yield writer.flush_async (Priority.DEFAULT, null);
131131
}
132132

133133
private async void read_loop () {

0 commit comments

Comments
 (0)