private async Task Write(byte[] messageByte, byte[] length) { ThrowObjectDisposedExceptionIfDisposed(); bool isSemaphoreEntered = false; try { isSemaphoreEntered = await _streamWriteSemaphoreSlim.WaitAsync(TimeSpan.FromMinutes(1)); if (!isSemaphoreEntered) { throw new TimeoutException(ErrorMessages.SemaphoreEnteryTimedOut); } await _sslStream.WriteAsync(length, 0, length.Length).ConfigureAwait(false); await _sslStream.WriteAsync(messageByte, 0, messageByte.Length).ConfigureAwait(false); } catch (Exception ex) { var writeException = new WriteException(ex); OnError(writeException); } finally { if (isSemaphoreEntered) { _streamWriteSemaphoreSlim.Release(); } } }
public void Constructor_with_1_arguments_should_work() { var exception = new WriteException("message"); exception.Message.Should().Be("message"); exception.InnerException.Should().BeNull(); exception.Result.Should().BeNull(); }
public LogMethods(WriteMessage writeMessage, WriteException writeException, WriteMessageWithException writeMessageWithException, bool isEnabled = true, ILoggerWithMessagesExpositionWithLevels exposeMessageMethod = null) { IsEnabled = isEnabled; this.writeMessage = writeMessage; this.writeException = writeException; this.writeMessageWithException = writeMessageWithException; }
public void Constructor_with_2_arguments_should_work() { var result = new BsonDocument("result", 1); var exception = new WriteException("message", result); exception.Message.Should().Be("message"); exception.InnerException.Should().BeNull(); exception.Result.Equals(result).Should().BeTrue(); }
public void Serialization_should_work() { var result = new BsonDocument("result", 1); var exception = new WriteException("message", result); var formatter = new BinaryFormatter(); using (var stream = new MemoryStream()) { formatter.Serialize(stream, exception); stream.Position = 0; var rehydrated = (WriteException)formatter.Deserialize(stream); rehydrated.Message.Should().Be("message"); rehydrated.InnerException.Should().BeNull(); rehydrated.Result.Equals(result).Should().BeTrue(); } }
public LogMethodsWithPrefix(WriteMessage writeMessage, WriteException writeException, WriteMessageWithException writeMessageWithException, string name, LogLevel logLevel) : base(writeMessage, writeException, writeMessageWithException, true) { this.logLevel = logLevel; this.name = name; }
public void NewException(Exception e) { Write?.Invoke("Виключна ситуація " + e.Message); WriteException?.Invoke(e.ToString()); }