• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# MsgPack.ItemsUnpacker类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中MsgPack.ItemsUnpacker的典型用法代码示例。如果您正苦于以下问题:C# ItemsUnpacker类的具体用法?C# ItemsUnpacker怎么用?C# ItemsUnpacker使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ItemsUnpacker类属于MsgPack命名空间,在下文中一共展示了ItemsUnpacker类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: TestSkip_FalseValue

		public void TestSkip_FalseValue()
		{
			var binary = new byte[]{ 0xC2, 0xC2 };
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例2: SubtreeUnpacker

		private SubtreeUnpacker( ItemsUnpacker root, SubtreeUnpacker parent )
		{
			Contract.Assert( root != null );
			Contract.Assert( root.IsArrayHeader || root.IsMapHeader );
			this._root = root;
			this._parent = parent;
			this._unpacked = new Stack<long>( 2 );

			this._itemsCount = new Stack<long>( 2 );
			this._isMap = new Stack<bool>( 2 );

			if ( root.ItemsCount > 0 )
			{
				this._itemsCount.Push( root.ItemsCount * ( root.IsMapHeader ? 2 : 1 ) );
				this._unpacked.Push( 0 );
				this._isMap.Push( root.IsMapHeader );
			}
		}
开发者ID:purplecow,项目名称:msgpack-cli,代码行数:18,代码来源:SubtreeUnpacker.cs


示例3: SubtreeUnpacker

		private SubtreeUnpacker( ItemsUnpacker root, SubtreeUnpacker parent )
		{
#if DEBUG && !UNITY_ANDROID && !UNITY_IPHONE
			Contract.Assert( root != null );
			Contract.Assert( root.IsArrayHeader || root.IsMapHeader );
#endif // DEBUG && !UNITY_ANDROID && !UNITY_IPHONE
			this._root = root;
			this._parent = parent;
			this._unpacked = new Stack<long>( 2 );

			this._itemsCount = new Stack<long>( 2 );
			this._isMap = new Stack<bool>( 2 );

			if ( root.ItemsCount > 0 )
			{
				this._itemsCount.Push( root.InternalItemsCount * ( ( int )root.InternalCollectionType ) );
				this._unpacked.Push( 0 );
				this._isMap.Push( root.InternalCollectionType == ItemsUnpacker.CollectionType.Map );
			}
		}
开发者ID:nagyist,项目名称:msgpack-cli,代码行数:20,代码来源:SubtreeUnpacker.cs


示例4: SubtreeUnpacker

		private SubtreeUnpacker( ItemsUnpacker root, SubtreeUnpacker parent )
		{
#if DEBUG
			Contract.Assert( root != null, "root != null" );
			Contract.Assert( root.IsArrayHeader || root.IsMapHeader, "root.IsArrayHeader || root.IsMapHeader" );
#endif // DEBUG
			this._root = root;
			this._parent = parent;
			this._unpacked = new Int64Stack( 2 );

			this._itemsCount = new Int64Stack( 2 );
			this._isMap = new BooleanStack( 2 );

			if ( root.ItemsCount > 0 )
			{
				this._itemsCount.Push( root.InternalItemsCount * ( ( int )root.InternalCollectionType ) );
				this._unpacked.Push( 0 );
				this._isMap.Push( root.InternalCollectionType == ItemsUnpacker.CollectionType.Map );
			}

			this._state = State.InHead;
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:22,代码来源:SubtreeUnpacker.cs


示例5: TestSkip_Ext16_Zero

		public void TestSkip_Ext16_Zero()
		{
			var binary = new byte[] { 0xC8 }.Concat( BitConverter.GetBytes( ( ushort )0x0 ).Reverse() ).Concat( new byte[] { 0x7F } ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例6: TestSkip_Ext8_Max

		public void TestSkip_Ext8_Max()
		{
			var binary = new byte[] { 0xC7 }.Concat( new byte[] { 0xFF } ).Concat( new byte[] { 0x7F } ).Concat( Enumerable.Repeat( 0x41, 0xFF ).Select( i => ( byte )i ) ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例7: TestSkip_FixExt16

		public void TestSkip_FixExt16()
		{
			var binary = new byte[]{ 0xD8, 0x7F, 0x10, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0xC2 };
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例8: TestSkipAsync_Ext32_Max

		public async Task TestSkipAsync_Ext32_Max()
		{
			var binary = new byte[] { 0xC9 }.Concat( BitConverter.GetBytes( ( uint )0x10001 ).Reverse() ).Concat( new byte[] { 0x7F } ).Concat( Enumerable.Repeat( 0x41, 0x10001 ).Select( i => ( byte )i ) ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例9: TestSkipAsync_Ext8_Zero

		public async Task TestSkipAsync_Ext8_Zero()
		{
			var binary = new byte[] { 0xC7 }.Concat( new byte[] { 0x0 } ).Concat( new byte[] { 0x7F } ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例10: TestSkipAsync_FixExt8

		public async Task TestSkipAsync_FixExt8()
		{
			var binary = new byte[]{ 0xD7, 0x7F, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0xC2 };
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:msgpack,项目名称:msgpack-cli,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例11: TestBin32_Min

		public void TestBin32_Min()
		{
			var binary = new byte[] { 0xC6 }.Concat( BitConverter.GetBytes( ( uint )0x10000 ).Reverse() ).Concat( Enumerable.Repeat( 0x41, 0x10000 ).Select( i => ( byte )i ) ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, false ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:gezidan,项目名称:ZYSOCKET,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例12: TestBin8_Zero

		public void TestBin8_Zero()
		{
			var binary = new byte[] { 0xC4 }.Concat( new byte[] { 0x0 } ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, false ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:gezidan,项目名称:ZYSOCKET,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs


示例13: TestFixExt4

		public void TestFixExt4()
		{
			var binary = new byte[]{ 0xD6, 0x7F, 0x04, 0x03, 0x02, 0x01, 0xC2 };
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, false ) )
			{
				var result = target.Skip();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
开发者ID:gezidan,项目名称:ZYSOCKET,代码行数:13,代码来源:UnpackerTest.Skip.Variations.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# MsgPack.SplittingStream类代码示例发布时间:2022-05-26
下一篇:
C# Web.Webpage类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap