2using System.Threading.Tasks;
9 internal class GetTask : MqTask
11 private readonly TaskCompletionSource<string> result;
12 private readonly
string queue;
13 private readonly
int timeoutMilliseconds;
21 public GetTask(MqClient Client,
string Queue,
int TimeoutMilliseconds)
25 this.timeoutMilliseconds = TimeoutMilliseconds;
26 this.result =
new TaskCompletionSource<string>();
32 public Task<string> Completed => this.result.Task;
38 public override bool DoWork()
42 string Message = this.Client.GetOne(this.queue, this.timeoutMilliseconds);
43 this.result.TrySetResult(Message);
47 this.result.TrySetException(ex);