Example #1
0
        /// <summary>
        /// <para>Сохранить данные в двоичный поток</para>
        /// </summary>
        /// <param name="context">Контекст хранения двоичных данных</param>
        /// <param name="stream">Выходной поток</param>
        /// <returns>Состояние выполнения</returns>
        public void Store(IBinaryContext context, Stream stream)
        {
            OnBeforeLoadData?.Invoke(this);
            var t = Task.Run(() => StoreAsync(context, stream));

            t.Wait();
            OnAfterLoadData?.Invoke(this);
        }
Example #2
0
        /// <summary>
        /// <para>Загрузить данные из двоичного потока</para>
        /// </summary>
        /// <param name="context">Контекст хранения двоичных данных</param>
        /// <param name="stream">Входной поток</param>
        /// <returns>Состояние выполнения</returns>
        public void Load(IBinaryContext context, Stream stream)
        {
            OnBeforeLoadData?.Invoke(this);
            _Offset = stream.Position;
            var t = Task.Run(() => LoadAsync(context, stream));

            t.Wait();
            OnAfterLoadData?.Invoke(this);
        }
Example #3
0
 /// <inheritdoc/>
 public override async Task StoreAsync(IBinaryContext context, Stream stream)
 {
     await stream.StoreAsync(Value, context.IsLittleEndian);
 }
Example #4
0
 /// <inheritdoc/>
 public override async Task LoadAsync(IBinaryContext context, Stream stream)
 {
     Value = await stream.LoadUInt16Async(context.IsLittleEndian);
 }
Example #5
0
 /// <inheritdoc/>
 public override long GetSize(IBinaryContext context)
 {
     return(Size);
 }
 public BinaryStringRepository(IBinaryContext context)
 {
     _context = context;
 }
Example #7
0
 /// <summary>
 /// <para>Сохранить данные в двоичный поток</para>
 /// </summary>
 /// <param name="context">Контекст хранения двоичных данных</param>
 /// <param name="stream">Выходной поток</param>
 /// <returns>Состояние выполнения</returns>
 public abstract Task StoreAsync(IBinaryContext context, Stream stream);
Example #8
0
 /// <summary>
 /// <para>Загрузить данные из двоичного потока</para>
 /// </summary>
 /// <param name="context">Контекст хранения двоичных данных</param>
 /// <param name="stream">Входной поток</param>
 /// <returns>Состояние выполнения</returns>
 public abstract Task LoadAsync(IBinaryContext context, Stream stream);
Example #9
0
 /// <summary>
 /// <para>Размер данных в заданном двоичном контексте</para>
 /// </summary>
 /// <param name="context">Контекст хранения двоичных данных</param>
 /// <returns>Размер данных</returns>
 public abstract long GetSize(IBinaryContext context);