本文整理汇总了C#中IBuilder.WeakMergeFrom方法的典型用法代码示例。如果您正苦于以下问题:C# IBuilder.WeakMergeFrom方法的具体用法?C# IBuilder.WeakMergeFrom怎么用?C# IBuilder.WeakMergeFrom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBuilder
的用法示例。
在下文中一共展示了IBuilder.WeakMergeFrom方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadMessage
public IMessage ReadMessage(IBuilder builder)
{
return builder.WeakMergeFrom(CodedInputStream.CreateInstance(this.GetPayload(Stream))).WeakBuild();
// this._stream.ReadMessage(builder, ExtensionRegistry.Empty); // this method doesn't seem to work with 7728. /raist.
// return builder.WeakBuild();
}
示例2: ReadMessage
/// <summary>
/// Reads an embedded message field value from the stream.
/// </summary>
public void ReadMessage(IBuilder builder, ExtensionRegistry extensionRegistry)
{
int length = (int) ReadRawVarint32();
if (recursionDepth >= recursionLimit) {
throw InvalidProtocolBufferException.RecursionLimitExceeded();
}
int oldLimit = PushLimit(length);
++recursionDepth;
builder.WeakMergeFrom(this, extensionRegistry);
CheckLastTagWas(0);
--recursionDepth;
PopLimit(oldLimit);
}
示例3: ReadGroup
/// <summary>
/// Reads a group field value from the stream.
/// </summary>
public void ReadGroup(int fieldNumber, IBuilder builder,
ExtensionRegistry extensionRegistry)
{
if (recursionDepth >= recursionLimit) {
throw InvalidProtocolBufferException.RecursionLimitExceeded();
}
++recursionDepth;
builder.WeakMergeFrom(this, extensionRegistry);
CheckLastTagWas(WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
--recursionDepth;
}
示例4: Receive
public override IMessage Receive(IBuilder builder, ExtensionRegistry extensions) {
try {
byte[] buffer = GetMessageBuffer();
return builder.WeakMergeFrom(ByteString.CopyFrom(buffer), extensions).WeakBuild();
} catch (SocketException) {
Close();
throw;
} catch (ObjectDisposedException) {
socket = null;
Close();
throw;
}
}
示例5: ReadMessage
//private void Read()
//{
// this.HeaderSize = (this.Stream.ReadRawByte() << 8) | this.Stream.ReadRawByte(); // header size.
// var headerData = this.Stream.ReadRawBytes(HeaderSize); // header data.
// this.Header = bnet.protocol.Header.ParseFrom(headerData); // parse header.
//}
public IMessage ReadMessage(IBuilder builder)
{
byte[] data = Client.IncomingMooNetStream.GetPacketData((int)this.Header.Size);
return builder.WeakMergeFrom(ByteString.CopyFrom(data)).WeakBuild();
}