コード例 #1
0
        public override IBlockBuilder CreateBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry)
        {
            int MaxBlockSizeInBytes;

            if (blockBuilderStatus == null)
            {
                MaxBlockSizeInBytes = BlockBuilderStatus.DEFAULT_MAX_BLOCK_SIZE_IN_BYTES;
            }
            else
            {
                MaxBlockSizeInBytes = blockBuilderStatus.MaxBlockSizeInBytes;
            }

            int ExpectedBytes = Math.Min(expectedEntries * expectedBytesPerEntry, MaxBlockSizeInBytes);

            return(new VariableWidthBlockBuilder(
                       blockBuilderStatus,
                       (expectedBytesPerEntry == 0 ? expectedEntries : Math.Min(expectedEntries, MaxBlockSizeInBytes / expectedBytesPerEntry)),
                       ExpectedBytes
                       ));
        }
コード例 #2
0
 public override IBlockBuilder CreateBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries)
 {
     return(this.CreateBlockBuilder(blockBuilderStatus, expectedEntries, EXPECTED_BYTES_PER_ENTRY));
 }
コード例 #3
0
ファイル: AbstractType.cs プロジェクト: frankzye/PrestoClient
 public IBlockBuilder CreateBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry)
 {
     throw new NotImplementedException();
 }
コード例 #4
0
ファイル: AbstractType.cs プロジェクト: frankzye/PrestoClient
 public IBlockBuilder CreateBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries)
 {
     return(this.CreateBlockBuilder(blockBuilderStatus, expectedEntries, 0));
 }