Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.2 KiB
79 lines
3.2 KiB
// Protocol Buffers - Google's data interchange format |
|
// Copyright 2008 Google Inc. |
|
// http://code.google.com/p/protobuf/ |
|
// |
|
// Licensed under the Apache License, Version 2.0 (the "License"); |
|
// you may not use this file except in compliance with the License. |
|
// You may obtain a copy of the License at |
|
// |
|
// http://www.apache.org/licenses/LICENSE-2.0 |
|
// |
|
// Unless required by applicable law or agreed to in writing, software |
|
// distributed under the License is distributed on an "AS IS" BASIS, |
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
// See the License for the specific language governing permissions and |
|
// limitations under the License. |
|
using System.IO; |
|
|
|
namespace Google.ProtocolBuffers { |
|
/// <summary> |
|
/// Thrown when a protocol message being parsed is invalid in some way, |
|
/// e.g. it contains a malformed varint or a negative byte length. |
|
/// |
|
/// TODO(jonskeet): Make the methods throw directly? Rename them? |
|
/// </summary> |
|
public class InvalidProtocolBufferException : IOException { |
|
|
|
private InvalidProtocolBufferException(string message) |
|
: base(message) { |
|
} |
|
|
|
/// TODO(jonskeet): Make this internal again and use InternalVisibleTo? |
|
public static InvalidProtocolBufferException TruncatedMessage() { |
|
return new InvalidProtocolBufferException( |
|
"While parsing a protocol message, the input ended unexpectedly " + |
|
"in the middle of a field. This could mean either than the " + |
|
"input has been truncated or that an embedded message " + |
|
"misreported its own length."); |
|
} |
|
|
|
/// TODO(jonskeet): Make this internal again and use InternalVisibleTo? |
|
internal static InvalidProtocolBufferException NegativeSize() { |
|
return new InvalidProtocolBufferException( |
|
"CodedInputStream encountered an embedded string or message " + |
|
"which claimed to have negative size."); |
|
} |
|
|
|
public static InvalidProtocolBufferException MalformedVarint() { |
|
return new InvalidProtocolBufferException( |
|
"CodedInputStream encountered a malformed varint."); |
|
} |
|
|
|
internal static InvalidProtocolBufferException InvalidTag() { |
|
return new InvalidProtocolBufferException( |
|
"Protocol message contained an invalid tag (zero)."); |
|
} |
|
|
|
internal static InvalidProtocolBufferException InvalidEndTag() { |
|
return new InvalidProtocolBufferException( |
|
"Protocol message end-group tag did not match expected tag."); |
|
} |
|
|
|
internal static InvalidProtocolBufferException InvalidWireType() { |
|
return new InvalidProtocolBufferException( |
|
"Protocol message tag had invalid wire type."); |
|
} |
|
|
|
internal static InvalidProtocolBufferException RecursionLimitExceeded() { |
|
return new InvalidProtocolBufferException( |
|
"Protocol message had too many levels of nesting. May be malicious. " + |
|
"Use CodedInputStream.setRecursionLimit() to increase the depth limit."); |
|
} |
|
|
|
internal static InvalidProtocolBufferException SizeLimitExceeded() { |
|
return new InvalidProtocolBufferException( |
|
"Protocol message was too large. May be malicious. " + |
|
"Use CodedInputStream.setSizeLimit() to increase the size limit."); |
|
} |
|
} |
|
}
|
|
|