public IntPtr GetDefaultDataIntPtr(out int size) { size = DefaultBufSize - _memSegHeaderSize; IntPtr memSegPtr = GetDefaultIntPtrCore(); return(MemorySegment.GetDataPtr(memSegPtr)); }
public void GetReadable(out IntPtr dataPtr, out int length) { // Учитывая то, кто использует этот метод, тут никогда не будет других чтений и никогда не будет больше // одного сегмента. length = _globalWrited; dataPtr = MemorySegment.GetDataPtr(_memSegPtr); }
public void Attach(IntPtr memSeg) { _memSegPtr = memSeg; _lastMemSegPtr = memSeg; unsafe { _memSegDataPtr = (byte *)(void *)MemorySegment.GetDataPtr(memSeg); } _memSegSize = MemorySegment.GetUsed(memSeg); _memSegReadIndex = -1; _memSegWriteIndex = -1; _globalReaded = 0; _globalWrited = 0; _released = false; }
unsafe private void SetCurrentMemSeg(IntPtr memSegPtr) { _memSegPtr = memSegPtr; _memSegSize = MemorySegment.GetUsed(_memSegPtr); _memSegDataPtr = (byte *)(void *)MemorySegment.GetDataPtr(_memSegPtr); }