internal RioBufferSegment(RioFixedBufferPool pool, IntPtr bufferStartPointer, IntPtr segmentStartPointer, int index, int Length) { Index = index; TotalLength = Length; _pool = pool; AutoFree = true; var offset = index * Length; RawPointer = (byte*)(bufferStartPointer + offset).ToPointer(); SegmentPointer = (RIO_BUFSEGMENT*)(segmentStartPointer + index * Marshal.SizeOf<RIO_BUFSEGMENT>()).ToPointer(); SegmentPointer->BufferId = IntPtr.Zero; SegmentPointer->Offset = offset; SegmentPointer->Length = TotalLength; }
internal RioBufferSegment(RioFixedBufferPool pool, IntPtr bufferStartPointer, IntPtr segmentStartPointer, int index, int Length) { Index = index; TotalLength = Length; _pool = pool; AutoFree = true; var offset = index * Length; RawPointer = (byte *)(bufferStartPointer + offset).ToPointer(); SegmentPointer = (RIO_BUFSEGMENT *)(segmentStartPointer + index * Marshal.SizeOf <RIO_BUFSEGMENT>()).ToPointer(); SegmentPointer->BufferId = IntPtr.Zero; SegmentPointer->Offset = offset; SegmentPointer->Length = TotalLength; }
internal RioBufferSegment(RioFixedBufferPool pool, IntPtr bufferStartPointer, IntPtr segmentStartPointer, int index, int Length) { Index = index; TotalLength = Length; _pool = pool; var offset = index * Length; RawPointer = (byte*)(bufferStartPointer + offset).ToPointer(); SegmentPointer = (RIO_BUFSEGMENT*)(segmentStartPointer + index * Marshal.SizeOf<RIO_BUFSEGMENT>()).ToPointer(); SegmentPointer->BufferId = IntPtr.Zero; SegmentPointer->Offset = offset; SegmentPointer->Length = TotalLength; _continuationWrapperDelegate = o => ((Action)o)(); }
internal RioBufferSegment(RioFixedBufferPool pool, IntPtr bufferStartPointer, IntPtr segmentStartPointer, int index, int Length) { Index = index; TotalLength = Length; _pool = pool; var offset = index * Length; RawPointer = (byte *)(bufferStartPointer + offset).ToPointer(); SegmentPointer = (RIO_BUFSEGMENT *)(segmentStartPointer + index * Marshal.SizeOf <RIO_BUFSEGMENT>()).ToPointer(); SegmentPointer->BufferId = IntPtr.Zero; SegmentPointer->Offset = offset; SegmentPointer->Length = TotalLength; _continuationWrapperDelegate = o => ((Action)o)(); }