11
11
using System . IO ;
12
12
using System . Text ;
13
13
using System . Threading ;
14
+ using System . Threading . Tasks ;
14
15
15
16
namespace libsignalservice
16
17
{
@@ -39,7 +40,7 @@ internal SignalServiceMessagePipe(CancellationToken token, SignalWebSocketConnec
39
40
/// Blocks until a message was received, calls the IMessagePipeCallback and confirms the message to the server, unless the pipe's token is cancelled.
40
41
/// </summary>
41
42
/// <param name="callback"></param>
42
- public void ReadBlocking ( IMessagePipeCallback callback )
43
+ public async Task ReadBlocking ( IMessagePipeCallback callback )
43
44
{
44
45
Logger . LogTrace ( "ReadBlocking()" ) ;
45
46
WebSocketRequestMessage request = Websocket . ReadRequestBlocking ( ) ;
@@ -51,7 +52,7 @@ public void ReadBlocking(IMessagePipeCallback callback)
51
52
try
52
53
{
53
54
Logger . LogDebug ( "Calling callback with message {0}" , request . Id ) ;
54
- callback . OnMessage ( message ) ;
55
+ await callback . OnMessage ( message ) ;
55
56
}
56
57
finally
57
58
{
@@ -65,7 +66,7 @@ public void ReadBlocking(IMessagePipeCallback callback)
65
66
else if ( IsPipeEmptyMessage ( request ) )
66
67
{
67
68
Logger . LogInformation ( "Calling callback with SignalServiceMessagePipeEmptyMessage" ) ;
68
- callback . OnMessage ( new SignalServiceMessagePipeEmptyMessage ( ) ) ;
69
+ await callback . OnMessage ( new SignalServiceMessagePipeEmptyMessage ( ) ) ;
69
70
}
70
71
else
71
72
{
@@ -205,7 +206,7 @@ public interface IMessagePipeCallback
205
206
/// This message is called for every message received via the pipe.
206
207
/// </summary>
207
208
/// <param name="message">The received message</param>
208
- void OnMessage ( SignalServiceMessagePipeMessage message ) ;
209
+ Task OnMessage ( SignalServiceMessagePipeMessage message ) ;
209
210
}
210
211
}
211
212
}
0 commit comments