public static async Task<ReadResult> Read(this EventSocket eventSocket, string uuid, ReadOptions options) { try { // todo: what if applicationresult is null (hang up occurs before the application completes) var result = new ReadResult( await eventSocket.ExecuteApplication(uuid, "read", options.ToString()).ConfigureAwait(false), options.ChannelVariableName); if (!result.Success) { LogFailedApplicationResult(eventSocket, result); } return result; } catch (TaskCanceledException ex) { return new ReadResult(null, null); } }
public Task<ReadResult> Read(ReadOptions options) { if (!IsAnswered) { return Task.FromResult(new ReadResult(null, null)); } return eventSocket.Read(UUID, options); }