// The well-known files channelz.proto imports, as descriptors. channelz only
// carries a timestamp, a duration, a 64-bit wrapper and an Any, so these are the
// four messages reflection has to be able to resolve for grpcurl to describe the
// service; they are not a general well-known-type library.
///|
/// `google/protobuf/timestamp.proto`.
pub fn timestamp_file() -> @proto.FileDescriptor {
@proto.FileDescriptor::new(
"google/protobuf/timestamp.proto",
"google.protobuf",
messages=[
@proto.MessageDescriptor::new("Timestamp", [
@proto.FieldDescriptor::new("seconds", 1, @proto.TypeInt64),
@proto.FieldDescriptor::new("nanos", 2, @proto.TypeInt32),
]),
],
)
}
///|
/// `google/protobuf/duration.proto`.
pub fn duration_file() -> @proto.FileDescriptor {
@proto.FileDescriptor::new(
"google/protobuf/duration.proto",
"google.protobuf",
messages=[
@proto.MessageDescriptor::new("Duration", [
@proto.FieldDescriptor::new("seconds", 1, @proto.TypeInt64),
@proto.FieldDescriptor::new("nanos", 2, @proto.TypeInt32),
]),
],
)
}
///|
/// `google/protobuf/any.proto`.
pub fn any_file() -> @proto.FileDescriptor {
@proto.FileDescriptor::new("google/protobuf/any.proto", "google.protobuf", messages=[
@proto.MessageDescriptor::new("Any", [
@proto.FieldDescriptor::new("type_url", 1, @proto.TypeString),
@proto.FieldDescriptor::new("value", 2, @proto.TypeBytes),
]),
])
}
///|
/// `google/protobuf/wrappers.proto`, with the two wrappers channelz uses.
pub fn wrappers_file() -> @proto.FileDescriptor {
@proto.FileDescriptor::new(
"google/protobuf/wrappers.proto",
"google.protobuf",
messages=[
@proto.MessageDescriptor::new("Int64Value", [
@proto.FieldDescriptor::new("value", 1, @proto.TypeInt64),
]),
@proto.MessageDescriptor::new("UInt32Value", [
@proto.FieldDescriptor::new("value", 1, @proto.TypeUint32),
]),
],
)
}
///|
/// Every dependency file, in the order channelz.proto imports them.
pub fn well_known_files() -> Array[@proto.FileDescriptor] {
[any_file(), duration_file(), timestamp_file(), wrappers_file()]
}