private void Read(CodedInputStream stream) { while (!stream.IsAtEnd) { var tag = stream.ReadTag(); switch (WireFormat.GetTagFieldNumber(tag)) { case 1: Id = Cid.Read(stream); break; case 2: Name = stream.ReadString(); break; case 3: Size = stream.ReadInt64(); break; default: throw new InvalidDataException("Unknown field number"); } } }
public void WriteTo_PackedInt32() { uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField <int> { 10, 1000, 1000000 }; var stream = new MemoryStream(); var output = new CodedOutputStream(stream); field.WriteTo(output, FieldCodec.ForInt32(tag)); output.Flush(); stream.Position = 0; var input = new CodedInputStream(stream); input.AssertNextTag(tag); var length = input.ReadLength(); Assert.AreEqual(10, input.ReadInt32()); Assert.AreEqual(1000, input.ReadInt32()); Assert.AreEqual(1000000, input.ReadInt32()); Assert.IsTrue(input.IsAtEnd); Assert.AreEqual(1 + CodedOutputStream.ComputeLengthSize(length) + length, stream.Length); }
public override SingleBatchItem.Builder MergeFrom( ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null; uint fieldTag; string fieldName; while (input.ReadTag(out fieldTag, out fieldName)) { if (fieldTag == 0U && fieldName != null) { int index = Array.BinarySearch <string>(SingleBatchItem._singleBatchItemFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal); if (index >= 0) { fieldTag = SingleBatchItem._singleBatchItemFieldTags[index]; } else { if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } switch (fieldTag) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: this.result.hasSeqId = input.ReadInt32(ref this.result.seqId_); continue; case 18: this.result.hasData = input.ReadString(ref this.result.data_); continue; default: if (WireFormat.IsEndGroupTag(fieldTag)) { if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); } if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); }
/// <summary> /// Constructor /// </summary> /// <param name="wireFormat"></param> /// <param name="memoryPool"></param> public SpanByteFunctionsForServer(WireFormat wireFormat = default, MemoryPool <byte> memoryPool = default) : base(true) { this.wireFormat = wireFormat; this.memoryPool = memoryPool ?? MemoryPool <byte> .Shared; }
public override CreateChatRoomResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(CreateChatRoomResponse._createChatRoomResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = CreateChatRoomResponse._createChatRoomResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasTopic) { builder2.MergeFrom(this.Topic); } input.ReadMessage(builder2, extensionRegistry); this.Topic = builder2.BuildPartial(); continue; } case 0x1a: { SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasPYInitial) { builder3.MergeFrom(this.PYInitial); } input.ReadMessage(builder3, extensionRegistry); this.PYInitial = builder3.BuildPartial(); continue; } case 0x22: { SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasQuanPin) { builder4.MergeFrom(this.QuanPin); } input.ReadMessage(builder4, extensionRegistry); this.QuanPin = builder4.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 40: { this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_); continue; } case 50: { input.ReadMessageArray <MemberResp>(num, str, this.result.memberList_, MemberResp.DefaultInstance, extensionRegistry); continue; } case 0x3a: { SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasChatRoomName) { builder5.MergeFrom(this.ChatRoomName); } input.ReadMessage(builder5, extensionRegistry); this.ChatRoomName = builder5.BuildPartial(); continue; } case 0x42: { SKBuiltinBuffer_t.Builder builder6 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasImgBuf) { builder6.MergeFrom(this.ImgBuf); } input.ReadMessage(builder6, extensionRegistry); this.ImgBuf = builder6.BuildPartial(); continue; } case 0x4a: { this.result.hasBigHeadImgUrl = input.ReadString(ref this.result.bigHeadImgUrl_); continue; } case 0x52: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasSmallHeadImgUrl = input.ReadString(ref this.result.smallHeadImgUrl_); } return(this); }
public override objectNetInstance.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(ref num, ref str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(objectNetInstance._objectNetInstanceFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = objectNetInstance._objectNetInstanceFieldTags[index]; } else { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasServerPrefab = input.ReadInt32(ref this.result.serverPrefab_); continue; } case 0x10: { this.result.hasOwnerPrefab = input.ReadInt32(ref this.result.ownerPrefab_); continue; } case 0x18: { this.result.hasProxyPrefab = input.ReadInt32(ref this.result.proxyPrefab_); continue; } case 0x20: break; default: { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } this.result.hasGroupID = input.ReadInt32(ref this.result.groupID_); } if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); }
/// <summary> /// Unregister provider associated with specified wire format /// </summary> /// <param name="wireFormat"></param> /// <param name="provider"></param> public void Unregister(WireFormat wireFormat, out ISessionProvider provider) => sessionProviders.TryRemove(wireFormat, out provider);
public override objectDeployable.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(out num, out str)) { if (num == 0 && str != null) { int num1 = Array.BinarySearch <string>(objectDeployable._objectDeployableFieldNames, str, StringComparer.Ordinal); if (num1 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } else { num = objectDeployable._objectDeployableFieldTags[num1]; } } uint num2 = num; if (num2 == 0) { throw InvalidProtocolBufferException.InvalidTag(); } if (num2 == 8) { this.result.hasCreatorID = input.ReadUInt64(ref this.result.creatorID_); } else if (num2 == 16) { this.result.hasOwnerID = input.ReadUInt64(ref this.result.ownerID_); } else { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); } } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
// Token: 0x06001276 RID: 4726 RVA: 0x00042670 File Offset: 0x00040870 public override objectNGCInstance.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; uint num; string text; while (input.ReadTag(ref num, ref text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(objectNGCInstance._objectNGCInstanceFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = objectNGCInstance._objectNGCInstanceFieldTags[num2]; } uint num3 = num; if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 != 8u) { if (num3 != 18u) { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); } else { this.result.hasData = input.ReadBytes(ref this.result.data_); } } else { this.result.hasID = input.ReadInt32(ref this.result.iD_); } } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
// Token: 0x060012EC RID: 4844 RVA: 0x000434D4 File Offset: 0x000416D4 public override objectSleepingAvatar.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; uint num; string text; while (input.ReadTag(ref num, ref text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(objectSleepingAvatar._objectSleepingAvatarFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = objectSleepingAvatar._objectSleepingAvatarFieldTags[num2]; } uint num3 = num; if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 != 8u) { if (num3 != 16u) { if (num3 != 24u) { if (num3 != 32u) { if (num3 != 40u) { if (num3 != 50u) { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); } else { Vitals.Builder builder2 = Vitals.CreateBuilder(); if (this.result.hasVitals) { builder2.MergeFrom(this.Vitals); } input.ReadMessage(builder2, extensionRegistry); this.Vitals = builder2.BuildPartial(); } } else { this.result.hasTimestamp = input.ReadInt32(ref this.result.timestamp_); } } else { this.result.hasHeadArmor = input.ReadInt32(ref this.result.headArmor_); } } else { this.result.hasTorsoArmor = input.ReadInt32(ref this.result.torsoArmor_); } } else { this.result.hasLegArmor = input.ReadInt32(ref this.result.legArmor_); } } else { this.result.hasFootArmor = input.ReadInt32(ref this.result.footArmor_); } } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
public override SendAuthResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); uint num; string text; while (input.ReadTag(out num, out text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(SendAuthResp._sendAuthRespFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { this.ParseUnknownField(input, extensionRegistry, num, text); continue; } num = SendAuthResp._sendAuthRespFieldTags[num2]; } uint num3 = num; if (num3 <= 10u) { if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 == 10u) { BaseRespP.Builder builder = BaseRespP.CreateBuilder(); if (this.result.hasBase) { builder.MergeFrom(this.Base); } input.ReadMessage(builder, extensionRegistry); this.Base = builder.BuildPartial(); continue; } } else { if (num3 == 18u) { this.result.hasCode = input.ReadString(ref this.result.code_); continue; } if (num3 == 26u) { this.result.hasState = input.ReadString(ref this.result.state_); continue; } if (num3 == 34u) { this.result.hasUrl = input.ReadString(ref this.result.url_); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, text); } return(this); }
public override RustProto.Error.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(out num, out str)) { if (num == 0 && str != null) { int num1 = Array.BinarySearch <string>(RustProto.Error._errorFieldNames, str, StringComparer.Ordinal); if (num1 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } else { num = RustProto.Error._errorFieldTags[num1]; } } uint num2 = num; if (num2 == 0) { throw InvalidProtocolBufferException.InvalidTag(); } if (num2 == 10) { this.result.hasStatus = input.ReadString(ref this.result.status_); } else if (num2 == 18) { this.result.hasMessage = input.ReadString(ref this.result.message_); } else { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); } } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
/// <summary> /// Decode the input using a particular wire format and update this DelegationSet. /// </summary> /// /// <param name="input">The input blob to decode.</param> /// <param name="wireFormat">A WireFormat object used to decode the input.</param> /// <exception cref="EncodingException">For invalid encoding.</exception> public void wireDecode(Blob input, WireFormat wireFormat) { wireFormat.decodeDelegationSet(this, input.buf(), false); }
/// <summary> /// Decode the input using a particular wire format and update this /// DelegationSet, using addUnsorted() to preserve the given order and /// possible duplicates. /// </summary> /// /// <param name="input"></param> /// <param name="wireFormat">A WireFormat object used to decode the input.</param> /// <exception cref="EncodingException">For invalid encoding.</exception> public void wireDecode(ByteBuffer input, WireFormat wireFormat) { wireFormat.decodeDelegationSet(this, input, true); }
/// <summary> /// Encode this DelegationSet for a particular wire format. /// </summary> /// /// <param name="wireFormat">A WireFormat object used to encode this DelegationSet.</param> /// <returns>The encoded buffer.</returns> public Blob wireEncode(WireFormat wireFormat) { return(wireFormat.encodeDelegationSet(this)); }
public long expressInterest(Interest interest, OnData onData, OnTimeout onTimeout, OnNetworkNack onNetworkNack, WireFormat wireFormat) throws IOException {
// Token: 0x060009D0 RID: 2512 RVA: 0x0001762C File Offset: 0x0001582C public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(out uint num, out string text)) { if (num == 0U && text != null) { int num2 = Array.BinarySearch(_transparentFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = _transparentFieldTags[num2]; } if (num <= 42U) { if (num <= 18U) { if (num == 0U) { throw InvalidProtocolBufferException.InvalidTag(); } if (num == 10U) { result.HasId = input.ReadString(ref result.id_); continue; } if (num == 18U) { result.HasAction = input.ReadString(ref result.action_); continue; } } else { if (num == 26U) { result.HasTaskId = input.ReadString(ref result.taskId_); continue; } if (num == 34U) { result.HasAppKey = input.ReadString(ref result.appKey_); continue; } if (num == 42U) { result.HasAppId = input.ReadString(ref result.appId_); continue; } } } else if (num <= 66U) { if (num == 50U) { result.HasMessageId = input.ReadString(ref result.messageId_); continue; } if (num == 58U) { PushInfo.Builder builder2 = PushInfo.CreateBuilder(); if (result.HasPushInfo) { builder2.MergeFrom(PushInfo); } input.ReadMessage(builder2, extensionRegistry); PushInfo = builder2.BuildPartial(); continue; } if (num == 66U) { input.ReadMessageArray(num, text, result.actionChain_, ActionChain.DefaultInstance, extensionRegistry); continue; } } else if (num <= 80U) { if (num == 74U) { input.ReadStringArray(num, text, result.condition_); continue; } if (num == 80U) { result.HasTemplateId = input.ReadInt32(ref result.templateId_); continue; } } else { if (num == 90U) { result.HasTaskGroupId = input.ReadString(ref result.taskGroupId_); continue; } if (num == 98U) { SmsInfo.Builder builder3 = SmsInfo.CreateBuilder(); if (result.HasSmsInfo) { builder3.MergeFrom(SmsInfo); } input.ReadMessage(builder3, extensionRegistry); SmsInfo = builder3.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); } if (builder != null) { UnknownFields = builder.Build(); } return(this); }
public override PushListMessage.Builder MergeFrom( ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null; uint fieldTag; string fieldName; while (input.ReadTag(out fieldTag, out fieldName)) { if (fieldTag == 0U && fieldName != null) { int index = Array.BinarySearch <string>(PushListMessage._pushListMessageFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal); if (index >= 0) { fieldTag = PushListMessage._pushListMessageFieldTags[index]; } else { if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } switch (fieldTag) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: this.result.hasSeqId = input.ReadString(ref this.result.seqId_); continue; case 18: this.result.hasTaskId = input.ReadString(ref this.result.taskId_); continue; case 26: input.ReadMessageArray <Target>(fieldTag, fieldName, (ICollection <Target>) this.result.targets_, Target.DefaultInstance, extensionRegistry); continue; default: if (WireFormat.IsEndGroupTag(fieldTag)) { if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); } if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); }
public override Vector.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(ref num, ref str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(Vector._vectorFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = Vector._vectorFieldTags[index]; } else { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 13: { this.result.hasX = input.ReadFloat(ref this.result.x_); continue; } case 0x15: { this.result.hasY = input.ReadFloat(ref this.result.y_); continue; } case 0x1d: break; default: { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } this.result.hasZ = input.ReadFloat(ref this.result.z_); } if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); }
public override SnsAction.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsAction._snsActionFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsAction._snsActionFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { this.result.hasToUsername = input.ReadString(ref this.result.toUsername_); continue; } case 0x1a: { this.result.hasFromNickname = input.ReadString(ref this.result.fromNickname_); continue; } case 0x22: { this.result.hasToNickname = input.ReadString(ref this.result.toNickname_); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { this.result.hasFromUsername = input.ReadString(ref this.result.fromUsername_); continue; } case 40: { this.result.hasType = input.ReadUInt32(ref this.result.type_); continue; } case 0x30: { this.result.hasSource = input.ReadUInt32(ref this.result.source_); continue; } case 0x38: { this.result.hasCreateTime = input.ReadUInt32(ref this.result.createTime_); continue; } case 0x42: { this.result.hasContent = input.ReadString(ref this.result.content_); continue; } case 0x48: { this.result.hasReplyCommentId = input.ReadInt32(ref this.result.replyCommentId_); continue; } case 80: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasCommentId = input.ReadInt32(ref this.result.commentId_); } return(this); }
public override GetA8KeyResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetA8KeyResp._getA8KeyRespFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetA8KeyResp._getA8KeyRespFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { this.result.hasFullURL = input.ReadString(ref this.result.fullURL_); continue; } case 0x1a: { this.result.hasA8Key = input.ReadString(ref this.result.a8Key_); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x20: { this.result.hasActionCode = input.ReadUInt32(ref this.result.actionCode_); continue; } case 0x2a: { this.result.hasTitle = input.ReadString(ref this.result.title_); continue; } case 50: { this.result.hasContent = input.ReadString(ref this.result.content_); continue; } case 0x3a: { JSAPIPermissionBitSet.Builder builder2 = JSAPIPermissionBitSet.CreateBuilder(); if (this.result.hasJSAPIPermission) { builder2.MergeFrom(this.JSAPIPermission); } input.ReadMessage(builder2, extensionRegistry); this.JSAPIPermission = builder2.BuildPartial(); continue; } case 0x42: { micromsg.GeneralControlBitSet.Builder builder3 = micromsg.GeneralControlBitSet.CreateBuilder(); if (this.result.hasGeneralControlBitSet) { builder3.MergeFrom(this.GeneralControlBitSet); } input.ReadMessage(builder3, extensionRegistry); this.GeneralControlBitSet = builder3.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public FieldMappingAttribute(MappedType mappedType, WireFormat.WireType wireType) { MappedType = mappedType; WireType = wireType; }
public override HongBaoReq.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(HongBaoReq._hongBaoReqFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = HongBaoReq._hongBaoReqFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseRequest.Builder builder = BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x10: { this.result.hasCgiCmd = input.ReadUInt32(ref this.result.cgiCmd_); continue; } case 0x18: { this.result.hasOutPutType = input.ReadUInt32(ref this.result.outPutType_); continue; } case 0x22: { SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasReqText) { builder2.MergeFrom(this.ReqText); } input.ReadMessage(builder2, extensionRegistry); this.ReqText = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override SafeDevice.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SafeDevice._safeDeviceFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SafeDevice._safeDeviceFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { this.result.hasName = input.ReadString(ref this.result.name_); continue; } case 0x12: { this.result.hasUuid = input.ReadString(ref this.result.uuid_); continue; } case 0x1a: { this.result.hasDeviceType = input.ReadString(ref this.result.deviceType_); continue; } case 0x20: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasCreateTime = input.ReadUInt32(ref this.result.createTime_); } return(this); }
static void Main(string[] args) { // Serialize and parse it. Make sure to parse from an InputStream, not // directly from a ByteString, so that CodedInputStream uses buffered // reading. AddressBook l1 = new AddressBook(); l1.People.Add(new Person() { Id = 1, Name = "ABC", Email = "*****@*****.**" }); uint tagLengthDelimited = WireFormat.MakeTag(AddressBook.PeopleFieldNumber, WireFormat.WireType.LengthDelimited); //// Hand-craft the stream to contain a single entry with just a value. //using (var memoryStream = new MemoryStream()) //using (var output = new CodedOutputStream(memoryStream)) //{ // output.WriteTag(AddressBook.PeopleFieldNumber, WireFormat.WireType.LengthDelimited); // // Size of the entry (tag, size written by WriteMessage, data written by WriteMessage) // output.WriteLength(2 + l1.CalculateSize()); // output.WriteTag(2, WireFormat.WireType.LengthDelimited); // output.WriteMessage(l1); // output.Flush(); // byte[] bf = memoryStream.ToArray(); // var parsed = AddressBook.Parser.ParseFrom(bf); //} var clone = l1.Clone(); byte[] bytes = l1.ToByteArray(); string json1 = l1.ToString(); string json2 = JsonFormatter.Default.Format(l1); var writer = new StringWriter(); JsonFormatter.Default.Format(l1, writer); string json3 = writer.ToString(); var empty = Empty.Parser.ParseFrom(bytes); // this works - json below JsonFormatter jsf = new JsonFormatter(new JsonFormatter.Settings(true)); string jsonString = jsf.Format(l1); // this throws error - see exception details below var lsJson = JsonParser.Default.Parse <AddressBook>(jsonString); var lsJson2 = JsonParser.Default.Parse(jsonString, AddressBook.Descriptor); // MessageDescriptor -> //string jsonMessageDescriptor = JsonConvert.SerializeObject(AddressBook.Descriptor); byte[] buf = null; using (var ms = new MemoryStream()) using (var output = new CodedOutputStream(ms)) { //////uint tag = WireFormat.MakeTag(1, WireFormat.WireType.LengthDelimited); //////output.WriteRawVarint32(tag); //////output.WriteRawVarint32(0x7FFFFFFF); //////output.WriteRawBytes(new byte[32]); // Pad with a few random bytes. //////output.Flush(); //////ms.Position = 0; ////output.WriteTag(1, WireFormat.WireType.Varint); //output.WriteInt32(99); ////output.WriteTag(2, WireFormat.WireType.Varint); //output.WriteInt32(123); //output.WriteFixed32(0); //output.WriteFixed32(34567); //output.WriteRawVarint32(0); //output.WriteRawVarint32(34567); //output.WriteLength(7); output.WriteRawVarint32(99); output.WriteFixed32(34567); l1.WriteTo(output); output.Flush(); buf = ms.ToArray(); } byte type = 0; uint tag = 0; AddressBook l2 = null; string log; if (buf != null && buf.Length > 0) { //using (var input = new CodedInputStream(buf)) //{ // //tag = input.ReadInt32(); // tag = input.ReadFixed32(); // try // { // l2 = AddressBook.Parser.ParseFrom(input); // } // catch (Exception ex) // { // log = ex.Message; // } //} type = buf[0]; tag = BitConverter.ToUInt32(buf, 1); using (CodedInputStream input = new CodedInputStream(buf, 5, buf.Length - 5)) { try { l2 = AddressBook.Parser.ParseFrom(input); } catch (Exception ex) { log = ex.Message; } } } //////////////////////////////////////////////// Console.WriteLine("Enter to exit ..."); Console.ReadLine(); }
private void GenerateBuilderParsingMethods(TextGenerator writer) { List <FieldDescriptor> sortedFields = new List <FieldDescriptor>(Descriptor.Fields); sortedFields.Sort((f1, f2) => f1.FieldNumber.CompareTo(f2.FieldNumber)); writer.WriteLine("public override Builder MergeFrom(pb::CodedInputStream input) {"); writer.WriteLine(" return MergeFrom(input, pb::ExtensionRegistry.Empty);"); writer.WriteLine("}"); writer.WriteLine(); writer.WriteLine("public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {"); writer.Indent(); if (!UseLiteRuntime) { writer.WriteLine("pb::UnknownFieldSet.Builder unknownFields = null;"); } writer.WriteLine("while (true) {"); writer.Indent(); writer.WriteLine("uint tag = input.ReadTag();"); writer.WriteLine("switch (tag) {"); writer.Indent(); writer.WriteLine("case 0: {"); // 0 signals EOF / limit reached if (!UseLiteRuntime) { writer.WriteLine(" if (unknownFields != null) {"); writer.WriteLine(" this.UnknownFields = unknownFields.Build();"); writer.WriteLine(" }"); } writer.WriteLine(" return this;"); writer.WriteLine("}"); writer.WriteLine("default: {"); writer.WriteLine(" if (pb::WireFormat.IsEndGroupTag(tag)) {"); if (!UseLiteRuntime) { writer.WriteLine(" if (unknownFields != null) {"); writer.WriteLine(" this.UnknownFields = unknownFields.Build();"); writer.WriteLine(" }"); } writer.WriteLine(" return this;"); // it's an endgroup tag writer.WriteLine(" }"); if (!UseLiteRuntime) { writer.WriteLine(" if (unknownFields == null) {"); // First unknown field - create builder now writer.WriteLine(" unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);"); writer.WriteLine(" }"); } writer.WriteLine(" ParseUnknownField(input, {0}extensionRegistry, tag);", UseLiteRuntime ? "" : "unknownFields, "); writer.WriteLine(" break;"); writer.WriteLine("}"); foreach (FieldDescriptor field in sortedFields) { uint tag = WireFormat.MakeTag(field); writer.WriteLine("case {0}: {{", tag); writer.Indent(); SourceGenerators.CreateFieldGenerator(field).GenerateParsingCode(writer); writer.WriteLine("break;"); writer.Outdent(); writer.WriteLine("}"); } writer.Outdent(); writer.WriteLine("}"); writer.Outdent(); writer.WriteLine("}"); writer.Outdent(); writer.WriteLine("}"); writer.WriteLine(); }
public override WXMessageP.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(WXMessageP._wXMessagePFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = WXMessageP._wXMessagePFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x1a: { this.result.hasDescription = input.ReadString(ref this.result.description_); continue; } case 0x22: { this.result.hasThumbData = input.ReadBytes(ref this.result.thumbData_); continue; } case 0x2a: { WXEmojiMessageP.Builder builder = WXEmojiMessageP.CreateBuilder(); if (this.result.hasEmojiMessage) { builder.MergeFrom(this.EmojiMessage); } input.ReadMessage(builder, extensionRegistry); this.EmojiMessage = builder.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasType = input.ReadUInt32(ref this.result.type_); continue; } case 0x12: { this.result.hasTitle = input.ReadString(ref this.result.title_); continue; } case 50: { WXFileMessageP.Builder builder2 = WXFileMessageP.CreateBuilder(); if (this.result.hasFileMessage) { builder2.MergeFrom(this.FileMessage); } input.ReadMessage(builder2, extensionRegistry); this.FileMessage = builder2.BuildPartial(); continue; } case 0x3a: { WXImageMessageP.Builder builder3 = WXImageMessageP.CreateBuilder(); if (this.result.hasImageMessage) { builder3.MergeFrom(this.ImageMessage); } input.ReadMessage(builder3, extensionRegistry); this.ImageMessage = builder3.BuildPartial(); continue; } case 0x42: { WXMusicMessageP.Builder builder4 = WXMusicMessageP.CreateBuilder(); if (this.result.hasMusicMessage) { builder4.MergeFrom(this.MusicMessage); } input.ReadMessage(builder4, extensionRegistry); this.MusicMessage = builder4.BuildPartial(); continue; } case 0x4a: { WXTextMessageP.Builder builder5 = WXTextMessageP.CreateBuilder(); if (this.result.hasTextMessage) { builder5.MergeFrom(this.TextMessage); } input.ReadMessage(builder5, extensionRegistry); this.TextMessage = builder5.BuildPartial(); continue; } case 0x52: { WXVideoMessageP.Builder builder6 = WXVideoMessageP.CreateBuilder(); if (this.result.hasVideoMessage) { builder6.MergeFrom(this.VideoMessage); } input.ReadMessage(builder6, extensionRegistry); this.VideoMessage = builder6.BuildPartial(); continue; } case 90: { WXWebpageMessageP.Builder builder7 = WXWebpageMessageP.CreateBuilder(); if (this.result.hasWebpageMessage) { builder7.MergeFrom(this.WebpageMessage); } input.ReadMessage(builder7, extensionRegistry); this.WebpageMessage = builder7.BuildPartial(); continue; } case 0x62: { WXAppExtendMessageP.Builder builder8 = WXAppExtendMessageP.CreateBuilder(); if (this.result.hasAppExtendMessage) { builder8.MergeFrom(this.AppExtendMessage); } input.ReadMessage(builder8, extensionRegistry); this.AppExtendMessage = builder8.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override GetMsgImgRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetMsgImgRequest._getMsgImgRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetMsgImgRequest._getMsgImgRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x10: { this.result.hasMsgId = input.ReadUInt32(ref this.result.msgId_); continue; } case 0x1a: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasFromUserName) { builder2.MergeFrom(this.FromUserName); } input.ReadMessage(builder2, extensionRegistry); this.FromUserName = builder2.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x22: { SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasToUserName) { builder3.MergeFrom(this.ToUserName); } input.ReadMessage(builder3, extensionRegistry); this.ToUserName = builder3.BuildPartial(); continue; } case 40: { this.result.hasTotalLen = input.ReadUInt32(ref this.result.totalLen_); continue; } case 0x30: { this.result.hasStartPos = input.ReadUInt32(ref this.result.startPos_); continue; } case 0x38: { this.result.hasDataLen = input.ReadUInt32(ref this.result.dataLen_); continue; } case 0x40: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasCompressType = input.ReadUInt32(ref this.result.compressType_); } return(this); }
public override Item.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(ref num, ref str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(Item._itemFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = Item._itemFieldTags[index]; } else { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasId = input.ReadInt32(ref this.result.id_); continue; } case 0x12: { this.result.hasName = input.ReadString(ref this.result.name_); continue; } case 0x18: { this.result.hasSlot = input.ReadInt32(ref this.result.slot_); continue; } case 0x20: { this.result.hasCount = input.ReadInt32(ref this.result.count_); continue; } case 0x2a: { input.ReadMessageArray <Item>(num, str, this.result.subitem_, Item.DefaultInstance, extensionRegistry); continue; } case 0x30: { this.result.hasSubslots = input.ReadInt32(ref this.result.subslots_); continue; } case 0x3d: { this.result.hasCondition = input.ReadFloat(ref this.result.condition_); continue; } case 0x45: break; default: { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields()); } this.ParseUnknownField(input, builder, extensionRegistry, num, str); continue; } } this.result.hasMaxcondition = input.ReadFloat(ref this.result.maxcondition_); } if (builder != null) { this.set_UnknownFields(builder.Build()); } return(this); }
public override BaseRespP.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(BaseRespP._baseRespPFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = BaseRespP._baseRespPFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasType = input.ReadUInt32(ref this.result.type_); continue; } case 0x12: { this.result.hasTransaction = input.ReadString(ref this.result.transaction_); continue; } case 0x18: { this.result.hasErrCode = input.ReadUInt32(ref this.result.errCode_); continue; } case 0x22: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasErrStr = input.ReadString(ref this.result.errStr_); } return(this); }
public override SnsActionGroup.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsActionGroup._snsActionGroupFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsActionGroup._snsActionGroupFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasId = input.ReadUInt64(ref this.result.id_); continue; } case 0x10: { this.result.hasParentId = input.ReadUInt64(ref this.result.parentId_); continue; } case 0x1a: { SnsAction.Builder builder = SnsAction.CreateBuilder(); if (this.result.hasCurrentAction) { builder.MergeFrom(this.CurrentAction); } input.ReadMessage(builder, extensionRegistry); this.CurrentAction = builder.BuildPartial(); continue; } case 0x22: { SnsAction.Builder builder2 = SnsAction.CreateBuilder(); if (this.result.hasReferAction) { builder2.MergeFrom(this.ReferAction); } input.ReadMessage(builder2, extensionRegistry); this.ReferAction = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override ServerNotify.Builder MergeFrom( ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null; uint fieldTag; string fieldName; while (input.ReadTag(out fieldTag, out fieldName)) { if (fieldTag == 0U && fieldName != null) { int index = Array.BinarySearch <string>(ServerNotify._serverNotifyFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal); if (index >= 0) { fieldTag = ServerNotify._serverNotifyFieldTags[index]; } else { if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } switch (fieldTag) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: object unknown; if (input.ReadEnum <ServerNotify.Types.NotifyType>(ref this.result.type_, out unknown)) { this.result.hasType = true; continue; } if (unknown is int) { if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } unknownFields.MergeVarintField(1, (ulong)(int)unknown); continue; } continue; case 18: this.result.hasInfo = input.ReadString(ref this.result.info_); continue; case 26: this.result.hasExtradata = input.ReadBytes(ref this.result.extradata_); continue; case 34: this.result.hasSeqId = input.ReadString(ref this.result.seqId_); continue; default: if (WireFormat.IsEndGroupTag(fieldTag)) { if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); } if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); }