add ParseFrom(ReadOnlySequence) methods
diff --git a/csharp/src/Google.Protobuf/MessageExtensions.cs b/csharp/src/Google.Protobuf/MessageExtensions.cs
index 06e0980..97a58c7 100644
--- a/csharp/src/Google.Protobuf/MessageExtensions.cs
+++ b/csharp/src/Google.Protobuf/MessageExtensions.cs
@@ -31,9 +31,11 @@
#endregion
using Google.Protobuf.Reflection;
+using System.Buffers;
using System.Collections;
using System.IO;
using System.Linq;
+using System.Security;
namespace Google.Protobuf
{
@@ -248,6 +250,16 @@
codedInput.CheckReadEndOfStreamTag();
}
+ [SecuritySafeCritical]
+ internal static void MergeFrom(this IMessage message, ReadOnlySequence<byte> data, bool discardUnknownFields, ExtensionRegistry registry)
+ {
+ var ctx = new ParseContext(data);
+ ctx.DiscardUnknownFields = discardUnknownFields;
+ ctx.ExtensionRegistry = registry;
+ ParsingPrimitivesMessages.ReadRawMessage(ref ctx, message);
+ ParsingPrimitivesMessages.CheckReadEndOfStreamTag(ref ctx.state);
+ }
+
internal static void MergeDelimitedFrom(this IMessage message, Stream input, bool discardUnknownFields, ExtensionRegistry registry)
{
ProtoPreconditions.CheckNotNull(message, "message");