Example #1
0
        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();
 }
Example #3
0
 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;
 }
Example #4
0
        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 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();
 }
Example #6
0
        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();
            }
        }
Example #8
0
        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();
            }
        }
Example #9
0
 public LogMethodsWithPrefix(WriteMessage writeMessage, WriteException writeException, WriteMessageWithException writeMessageWithException, string name, LogLevel logLevel)
     : base(writeMessage, writeException, writeMessageWithException, true)
 {
     this.logLevel = logLevel;
     this.name     = name;
 }
Example #10
0
 public void NewException(Exception e)
 {
     Write?.Invoke("Виключна ситуація " + e.Message);
     WriteException?.Invoke(e.ToString());
 }