internal static Task<int> ReadAsync(this System.Net.Security.SslStream source, byte[] buffer, int offset, int count) { return Task.Factory.FromAsync( (c, s) => source.BeginRead(buffer, offset, count, c, s), (r) => source.EndRead(r), null); }