public static IColumnCursor <T> CreateCursor <TEntry, T>(TEntry[] chunk, ICodecFullStream codec) where TEntry : unmanaged, IFieldEntry <T> { var allocator = new DummyPinnedAllocator(); var columnStream = new ColumnStreamFullStream <ColumnMemoryStream, ICodecFullStream>( new ColumnMemoryStream(), codec, allocator, 1024); columnStream.WriteAndReset(chunk, Natives.SizeOfEntry <TEntry>()); return(new ColumnCursor <TEntry, T, ColumnStreamFullStream <ColumnMemoryStream, ICodecFullStream> >(allocator, columnStream)); }
private ColumnStreamFullStream <TemplateMemoryStream, TCodec> CreateCstb <TCodec>(TCodec codec, byte[] data) where TCodec : ICodecFullStream { var memory = new TemplateMemoryStream(8192); var stream = new ColumnStreamFullStream <TemplateMemoryStream, TCodec>(memory, codec, _allocator, 1024); stream.WriteAndReset(data, sizeof(byte)); _streams.Add(stream); return(stream); }
public void Setup() { var data = Factory.CreateRandomBytes(WROTE); var ptr = Marshal.AllocHGlobal(READ); _unmanagedPtr.Add(ptr); _rData = (byte *)ptr; _readData = new byte[READ]; _csFullClassBase = CreateCsb(new VoidCodecFullStream(), data); //_csTemplateCodecBase = CreateCsb(new TemplateVoidCodec(), data); //_csFullTemplateBase = CreateCstb(new TemplateVoidCodec(), data); _csFullClass = CreateCs <byte, VoidCodec <byte> >(new VoidCodec <byte>(), data); _csUnsafeClass = CreateCsub <byte>(new VoidCodec <byte>(), data); //_csTemplateCodec1 = CreateCs(new TemplateVoidCodec(), data); //_csFullTemplateCodec = CreateCst(new TemplateVoidCodec(), data); }