Beispiel #1
0
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="vault">vault protecting the string</param>
 /// <param name="helper">helper for i/o</param>
 /// <param name="favoriteChar">char it writes</param>
 /// <param name="startToken">Start token</param>
 /// <param name="minWrites">min writes</param>
 /// <param name="maxWrites">max writes</param>
 /// <exception cref="ArgumentNullException"><paramref name="vault"/> or <paramref name="helper"/>
 /// were <see langword="null"/> </exception>
 /// <exception cref="ArgumentOutOfRangeException">Min writes was negative.  Or max writes did not exceed min writes
 /// by at least three.</exception>
 protected WriterThread([NotNull] TVault vault, [NotNull] IOutputHelper helper,
                        char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper)
 {
     if (minWrites < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(minWrites), minWrites, @"Parameter cannot be negative.");
     }
     if (maxWrites <= minWrites + 2)
     {
         throw new ArgumentOutOfRangeException(nameof(maxWrites), maxWrites,
                                               $@"Parameter must be greater than {(minWrites + 2).ToString()}");
     }
     Char        = favoriteChar;
     MaxWrites   = maxWrites;
     MinWrites   = minWrites;
     _startToken = startToken ?? throw new ArgumentNullException(nameof(startToken));
 }
 private protected override WriterThread <BasicReadWriteVault <string> > InitWriterThread(
     BasicReadWriteVault <string> vault, IOutputHelper outputHelper, char charToWrite,
     WriterThreadBeginToken beginToken) =>
 new BasicVaultWriterThread(vault, outputHelper, charToWrite, beginToken);
 private protected override WriterThread <ReadWriteStringBufferVault> InitWriterThread(
     ReadWriteStringBufferVault vault, IOutputHelper outputHelper, char charToWrite,
     WriterThreadBeginToken beginToken) =>
 new CustomVaultWriterThread(vault, outputHelper, charToWrite, beginToken);
Beispiel #4
0
 /// <inheritdoc />
 public BasicVaultWriterThread([NotNull] BasicReadWriteVault <string> vault, [NotNull] IOutputHelper helper, char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper, favoriteChar, startToken, minWrites, maxWrites)
 {
 }
Beispiel #5
0
 /// <inheritdoc />
 public CustomVaultWriterThread([NotNull] ReadWriteStringBufferVault vault, [NotNull] IOutputHelper helper, char favoriteChar, WriterThreadBeginToken startToken, int minWrites = DefaultMinWrites, int maxWrites = DefaultMaxWrites) : base(vault, helper, favoriteChar, startToken, minWrites, maxWrites)
 {
 }
Beispiel #6
0
 [NotNull] private protected abstract WriterThread <TVault> InitWriterThread([NotNull] TVault vault,
                                                                             [NotNull] IOutputHelper outputHelper, char charToWrite, [NotNull] WriterThreadBeginToken beginToken);