Skip to content

Commit cdb37d6

Browse files
golf1052Sanders Lauture
authored andcommitted
Correctly name async functions and make CancellationToken optional in a bunch of places
Also some other cleanup
1 parent c99ab33 commit cdb37d6

File tree

11 files changed

+678
-427
lines changed

11 files changed

+678
-427
lines changed

libsignal-service-dotnet-tests/ConnectionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public async Task TestConnection()
3131
var pushServiceSocket = new SignalServiceAccountManager(ServiceConfiguration, null, "A", "B", 1, UserAgent, Util.CreateHttpClient());
3232
try
3333
{
34-
var turn = await pushServiceSocket.GetTurnServerInfo(cancelSource.Token);
34+
var turn = await pushServiceSocket.GetTurnServerInfoAsync(cancelSource.Token);
3535
}
3636
catch (AuthorizationFailedException) { }
3737
}

libsignal-service-dotnet-tests/util/UtilTests.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.

libsignal-service-dotnet/SignalServiceAccountManager.cs

Lines changed: 176 additions & 72 deletions
Large diffs are not rendered by default.

libsignal-service-dotnet/SignalServiceMessagePipe.cs

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,25 @@ namespace libsignalservice
2222
/// </summary>
2323
public class SignalServiceMessagePipe
2424
{
25-
private readonly ILogger Logger = LibsignalLogging.CreateLogger<SignalServiceMessagePipe>();
26-
private readonly ISignalWebSocketFactory SignalWebSocketFactory;
27-
private readonly SignalWebSocketConnection Websocket;
28-
private readonly ICredentialsProvider? CredentialsProvider;
29-
private CancellationToken Token;
25+
private readonly ILogger logger = LibsignalLogging.CreateLogger<SignalServiceMessagePipe>();
26+
private readonly ISignalWebSocketFactory signalWebSocketFactory;
27+
private readonly SignalWebSocketConnection websocket;
28+
private readonly ICredentialsProvider? credentialsProvider;
29+
private CancellationToken token;
3030

31-
internal SignalServiceMessagePipe(CancellationToken token, SignalWebSocketConnection websocket,
32-
ICredentialsProvider? credentialsProvider, ISignalWebSocketFactory webSocketFactory)
31+
internal SignalServiceMessagePipe(SignalWebSocketConnection websocket,
32+
ICredentialsProvider? credentialsProvider, ISignalWebSocketFactory webSocketFactory, CancellationToken? token = null)
3333
{
34-
Logger.LogTrace("SignalServiceMessagePipe()");
35-
Token = token;
36-
Websocket = websocket;
37-
CredentialsProvider = credentialsProvider;
38-
SignalWebSocketFactory = webSocketFactory;
34+
if (token == null)
35+
{
36+
token = CancellationToken.None;
37+
}
38+
39+
logger.LogTrace("SignalServiceMessagePipe()");
40+
this.token = token.Value;
41+
this.websocket = websocket;
42+
this.credentialsProvider = credentialsProvider;
43+
signalWebSocketFactory = webSocketFactory;
3944
}
4045

4146
/// <summary>
@@ -44,8 +49,8 @@ internal SignalServiceMessagePipe(CancellationToken token, SignalWebSocketConnec
4449
/// <returns>Task</returns>
4550
public async Task Connect()
4651
{
47-
Logger.LogTrace("Connecting to message pipe");
48-
await Websocket.Connect();
52+
logger.LogTrace("Connecting to message pipe");
53+
await websocket.Connect();
4954
}
5055

5156
/// <summary>
@@ -54,39 +59,39 @@ public async Task Connect()
5459
/// <param name="callback"></param>
5560
public async Task ReadBlocking(IMessagePipeCallback callback)
5661
{
57-
Logger.LogTrace("ReadBlocking()");
58-
if (CredentialsProvider == null)
62+
logger.LogTrace("ReadBlocking()");
63+
if (credentialsProvider == null)
5964
{
6065
throw new ArgumentException("You can't read messages if you haven't specified credentials");
6166
}
62-
WebSocketRequestMessage request = Websocket.ReadRequestBlocking();
67+
WebSocketRequestMessage request = websocket.ReadRequestBlocking();
6368

6469
if (IsSignalServiceEnvelope(request))
6570
{
6671
SignalServiceMessagePipeMessage message = new SignalServiceEnvelope(request.Body.ToByteArray());
6772
WebSocketResponseMessage response = CreateWebSocketResponse(request);
6873
try
6974
{
70-
Logger.LogDebug("Calling callback with message {0}", request.Id);
75+
logger.LogDebug("Calling callback with message {0}", request.Id);
7176
await callback.OnMessage(message);
7277
}
7378
finally
7479
{
75-
if (!Token.IsCancellationRequested)
80+
if (!token.IsCancellationRequested)
7681
{
77-
Logger.LogDebug("Confirming message {0}", request.Id);
78-
Websocket.SendResponse(response);
82+
logger.LogDebug("Confirming message {0}", request.Id);
83+
websocket.SendResponse(response);
7984
}
8085
}
8186
}
8287
else if (IsPipeEmptyMessage(request))
8388
{
84-
Logger.LogInformation("Calling callback with SignalServiceMessagePipeEmptyMessage");
89+
logger.LogInformation("Calling callback with SignalServiceMessagePipeEmptyMessage");
8590
await callback.OnMessage(new SignalServiceMessagePipeEmptyMessage());
8691
}
8792
else
8893
{
89-
Logger.LogWarning("Unknown request: {0} {1}", request.Verb, request.Path);
94+
logger.LogWarning("Unknown request: {0} {1}", request.Verb, request.Path);
9095
}
9196
}
9297

@@ -98,7 +103,7 @@ public async Task ReadBlocking(IMessagePipeCallback callback)
98103
/// <returns></returns>
99104
public async Task<SendMessageResponse> Send(OutgoingPushMessageList list, UnidentifiedAccess? unidentifiedAccess)
100105
{
101-
Logger.LogTrace("Send()");
106+
logger.LogTrace("Send()");
102107
var headers = new List<string>()
103108
{
104109
"content-type:application/json"
@@ -115,7 +120,7 @@ public async Task<SendMessageResponse> Send(OutgoingPushMessageList list, Uniden
115120
Body = ByteString.CopyFrom(Encoding.UTF8.GetBytes(JsonUtil.ToJson(list)))
116121
};
117122
requestmessage.Headers.AddRange(headers);
118-
var sendTask = (await Websocket.SendRequest(requestmessage)).Task;
123+
var sendTask = (await websocket.SendRequest(requestmessage)).Task;
119124
var timerCancelSource = new CancellationTokenSource();
120125
if (await Task.WhenAny(sendTask, Task.Delay(10*1000, timerCancelSource.Token)) == sendTask)
121126
{
@@ -131,7 +136,7 @@ public async Task<SendMessageResponse> Send(OutgoingPushMessageList list, Uniden
131136
}
132137
else
133138
{
134-
Logger.LogError("Sending message {0} failed: timeout", requestmessage.Id);
139+
logger.LogError("Sending message {0} failed: timeout", requestmessage.Id);
135140
throw new IOException("timeout reached while waiting for confirmation");
136141
}
137142
}
@@ -144,7 +149,7 @@ public async Task<SendMessageResponse> Send(OutgoingPushMessageList list, Uniden
144149
/// <returns></returns>
145150
public async Task<SignalServiceProfile> GetProfile(SignalServiceAddress address, UnidentifiedAccess? unidentifiedAccess)
146151
{
147-
Logger.LogTrace("GetProfile()");
152+
logger.LogTrace("GetProfile()");
148153
var headers = new List<string>()
149154
{
150155
"content-type:application/json"
@@ -160,7 +165,7 @@ public async Task<SignalServiceProfile> GetProfile(SignalServiceAddress address,
160165
Path = $"/v1/profile/{address.GetIdentifier()}"
161166
};
162167

163-
var sendTask = (await Websocket.SendRequest(requestMessage)).Task;
168+
var sendTask = (await websocket.SendRequest(requestMessage)).Task;
164169
var timerCancelSource = new CancellationTokenSource();
165170
if (await Task.WhenAny(sendTask, Task.Delay(TimeSpan.FromSeconds(10), timerCancelSource.Token)) == sendTask)
166171
{
@@ -192,7 +197,7 @@ public async Task<AttachmentV2UploadAttributes> GetAttachmentV2UploadAttributesA
192197
Path = "/v2/attachments/form/upload"
193198
};
194199

195-
var sendTask = (await Websocket.SendRequest(requestMessage)).Task;
200+
var sendTask = (await websocket.SendRequest(requestMessage)).Task;
196201
var timerCancelSource = new CancellationTokenSource();
197202
if (await Task.WhenAny(sendTask, Task.Delay(TimeSpan.FromSeconds(10), timerCancelSource.Token)) == sendTask)
198203
{
@@ -225,7 +230,7 @@ public async Task<AttachmentV3UploadAttributes> GetAttachmentV3UploadAttributesA
225230
Path = "/v3/attachments/form/upload"
226231
};
227232

228-
var sendTask = (await Websocket.SendRequest(requestMessage)).Task;
233+
var sendTask = (await websocket.SendRequest(requestMessage)).Task;
229234
var timerCancelSource = new CancellationTokenSource();
230235
if (await Task.WhenAny(sendTask, Task.Delay(TimeSpan.FromSeconds(10), timerCancelSource.Token)) == sendTask)
231236
{
@@ -249,7 +254,7 @@ public async Task<AttachmentV3UploadAttributes> GetAttachmentV3UploadAttributesA
249254
/// </summary>
250255
public void Shutdown()
251256
{
252-
Websocket.Disconnect();
257+
websocket.Disconnect();
253258
}
254259

255260
private bool IsSignalServiceEnvelope(WebSocketRequestMessage message)

0 commit comments

Comments
 (0)