当前位置: 首页>>代码示例>>C#>>正文


C# ByteBuffer.position方法代码示例

本文整理汇总了C#中ByteBuffer.position方法的典型用法代码示例。如果您正苦于以下问题:C# ByteBuffer.position方法的具体用法?C# ByteBuffer.position怎么用?C# ByteBuffer.position使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ByteBuffer的用法示例。


在下文中一共展示了ByteBuffer.position方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: compress

 public bool compress(ByteBuffer @in, ByteBuffer @out, ByteBuffer overflow)
 {
     int inBytes = @in.remaining();
     // I should work on a patch for Snappy to support an overflow buffer
     // to prevent the extra buffer copy.
     byte[] compressed = new byte[Snappy.maxCompressedLength(inBytes)];
     int outBytes =
         Snappy.compress(@in.array(), @in.arrayOffset() + @in.position(), inBytes,
             compressed, 0);
     if (outBytes < inBytes)
     {
         int remaining = @out.remaining();
         if (remaining >= outBytes)
         {
             Array.Copy(compressed, 0, @out.array(), @out.arrayOffset() +
                 @out.position(), outBytes);
             @out.position(@out.position() + outBytes);
         }
         else
         {
             Array.Copy(compressed, 0, @out.array(), @out.arrayOffset() +
                 @out.position(), remaining);
             @out.position(@out.limit());
             Array.Copy(compressed, remaining, overflow.array(),
                 overflow.arrayOffset(), outBytes - remaining);
             overflow.position(outBytes - remaining);
         }
         return true;
     }
     else
     {
         return false;
     }
 }
开发者ID:CurtHagenlocher,项目名称:OrcSharp,代码行数:34,代码来源:SnappyCodec.cs

示例2: decompress

 public void decompress(ByteBuffer @in, ByteBuffer @out)
 {
     if (@in.isDirect() && @out.isDirect())
     {
         directDecompress(@in, @out);
         return;
     }
     int inOffset = @in.position();
     int uncompressLen =
         Snappy.uncompress(@in.array(), @in.arrayOffset() + inOffset,
         @in.limit() - inOffset, @out.array(), @out.arrayOffset() + @out.position());
     @out.position(uncompressLen + @out.position());
     @out.flip();
 }
开发者ID:CurtHagenlocher,项目名称:OrcSharp,代码行数:14,代码来源:SnappyCodec.cs

示例3: decompress

 public void decompress(ByteBuffer @in, ByteBuffer @out)
 {
     using (ByteBufferInputStream input = new ByteBufferInputStream(@in.duplicate()))
     using (DeflateStream inflater = new DeflateStream(input, CompressionMode.Decompress))
     using (ByteBufferOutputStream output = new ByteBufferOutputStream(@out))
     {
         inflater.CopyTo(output);
     }
     @out.flip();
     @in.position(@in.limit());
 }
开发者ID:CurtHagenlocher,项目名称:OrcSharp,代码行数:11,代码来源:ZlibCodec.cs

示例4: compareTo

        /**
     * Compares this buffer to another.
     *
     * <p> Two byte buffers are compared by comparing their sequences of
     * remaining elements lexicographically, without regard to the starting
     * position of each sequence within its corresponding buffer.
     *
     * <p> A byte buffer is not comparable to any other type of object.
     *
     * @return  A negative integer, zero, or a positive integer as this buffer
     *		is less than, equal to, or greater than the given buffer
     */

        public int compareTo(ByteBuffer that)
        {
            int n = position() + Math.Min(remaining(), that.remaining());
            for (int i = position(), j = that.position(); i < n; i++, j++)
            {
                byte v1 = get(i);
                byte v2 = that.get(j);
                if (v1 == v2)
                    continue;
                if (v1 < v2)
                    return -1;
                return +1;
            }
            return remaining() - that.remaining();
        }
开发者ID:vodkhang,项目名称:RoboCode-Robots,代码行数:28,代码来源:ByteBuffer.cs

示例5: output

 public void output(ByteBuffer buffer)
 {
     this.buffer.add(buffer.array(), buffer.arrayOffset() + buffer.position(), buffer.remaining());
 }
开发者ID:CurtHagenlocher,项目名称:OrcSharp,代码行数:4,代码来源:TestInStream.cs

示例6: Equals

	public bool Equals(ByteBuffer other)
	{
		if (other != null && this.remaining() == other.remaining())
		{
			long thisOriginalPosition = this.position();
			long otherOriginalPosition = other.position();

			bool differenceFound = false;
			while (stream.Position < stream.Length)
			{
				if (this.get() != other.get())
				{
					differenceFound = true;
					break;
				}
			}

			this.position(thisOriginalPosition);
			other.position(otherOriginalPosition);

			return ! differenceFound;
		}
		else
			return false;
	}
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:25,代码来源:ByteBuffer.cs

示例7: copyPlane

		private void copyPlane(ByteBuffer src, ByteBuffer dst)
		{
			src.position(0).limit(src.capacity());
			dst.put(src);
			dst.position(0).limit(dst.capacity());
		}
开发者ID:moljac,项目名称:Samples.Data.Porting,代码行数:6,代码来源:SnapshotVideoRenderer.cs


注:本文中的ByteBuffer.position方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。