internal void InitParseBuffers(uint parsebufflenMb) { eventBufferLength = parsebufflenMb * 1024 * 1024; rawDataBuff = new byte[eventBufferLength]; maxValuesInBuffer = eventBufferLength / 8; timeArray = new List <ulong>((int)maxValuesInBuffer); timeArray.AddRange(new ulong[maxValuesInBuffer]); neutronEventArray = new List <uint>((int)maxValuesInBuffer); neutronEventArray.AddRange(new uint[maxValuesInBuffer]); sup = new Supporter(); }
internal void InitParseBuffers(uint parsebufflenMb) { eventBufferLength = parsebufflenMb * 1024 * 1024; rawDataBuff = new byte[eventBufferLength]; maxValuesInBuffer = eventBufferLength / 8; timeArray = new List<ulong>((int)maxValuesInBuffer); timeArray.AddRange(new ulong[maxValuesInBuffer]); neutronEventArray = new List<uint>((int)maxValuesInBuffer); neutronEventArray.AddRange(new uint[maxValuesInBuffer]); sup = new Supporter(); }
internal void InitParseBuffers(uint parsebufflenMb, uint unitBytes, bool useRawDataBuff) { eventBufferLength = parsebufflenMb * 1024 * 1024; maxValuesInBuffer = eventBufferLength / unitBytes; if (useRawDataBuff) { if (rawDataBuff != null && rawDataBuff.Length != eventBufferLength) { rawDataBuff = null; } } if (timeArray != null && timeArray.Count != maxValuesInBuffer) { timeArray = null; } if (neutronEventArray != null && neutronEventArray.Count != maxValuesInBuffer) { neutronEventArray = null; } sup = null; GCCollect(); // GC now, then allocate new if needed if (useRawDataBuff && (rawDataBuff == null)) rawDataBuff = new byte[eventBufferLength]; if (timeArray == null) timeArray = new List<ulong>(new ulong[maxValuesInBuffer]); if (neutronEventArray == null) neutronEventArray = new List<uint>(new uint[maxValuesInBuffer]); sup = new Supporter(); }