public unsafe void ProduceWindowWithSpan(Int64 previousTicks) { var span = new Span <Int64>(Shared.ToPointer(), WindowSize); span.Fill(previousTicks); OnDataReady?.Invoke(WindowSize); }
public void ProduceWindowManaged(Int64 previousTicks) { for (int i = 0; i < WindowSize; i += 8) { Marshal.WriteInt64(Shared, i, previousTicks); } OnDataReady?.Invoke(WindowSize); }
public unsafe void ProduceWindowUnsafe(Int64 previousTicks) { var p = (Int64 *)Shared.ToPointer(); for (int i = 0; i < WindowSize; i++) { *p++ = previousTicks; } OnDataReady?.Invoke(WindowSize); }
protected virtual void TriggerDataReadyEvent() { OnDataReady?.Invoke(Data, this); }