1// copied from https://github.com/google/quic-trace/ 2// Only changed the package name. 3 4// Code generated by protoc-gen-go. DO NOT EDIT. 5// versions: 6// protoc-gen-go v1.23.0 7// protoc v3.11.4 8// source: quic-trace.proto 9 10package pb 11 12import ( 13 proto "github.com/golang/protobuf/proto" 14 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 15 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 16 reflect "reflect" 17 sync "sync" 18) 19 20const ( 21 // Verify that this generated code is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 23 // Verify that runtime/protoimpl is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 25) 26 27// This is a compile-time assertion that a sufficiently up-to-date version 28// of the legacy proto package is being used. 29const _ = proto.ProtoPackageIsVersion4 30 31type FrameType int32 32 33const ( 34 FrameType_UNKNOWN_FRAME FrameType = 0 35 FrameType_STREAM FrameType = 1 36 FrameType_ACK FrameType = 2 37 FrameType_RESET_STREAM FrameType = 3 38 FrameType_CONNECTION_CLOSE FrameType = 4 39 FrameType_MAX_DATA FrameType = 5 40 FrameType_MAX_STREAM_DATA FrameType = 6 41 FrameType_PING FrameType = 7 42 FrameType_BLOCKED FrameType = 8 43 FrameType_STREAM_BLOCKED FrameType = 9 44 FrameType_PADDING FrameType = 10 45 FrameType_CRYPTO FrameType = 11 46) 47 48// Enum value maps for FrameType. 49var ( 50 FrameType_name = map[int32]string{ 51 0: "UNKNOWN_FRAME", 52 1: "STREAM", 53 2: "ACK", 54 3: "RESET_STREAM", 55 4: "CONNECTION_CLOSE", 56 5: "MAX_DATA", 57 6: "MAX_STREAM_DATA", 58 7: "PING", 59 8: "BLOCKED", 60 9: "STREAM_BLOCKED", 61 10: "PADDING", 62 11: "CRYPTO", 63 } 64 FrameType_value = map[string]int32{ 65 "UNKNOWN_FRAME": 0, 66 "STREAM": 1, 67 "ACK": 2, 68 "RESET_STREAM": 3, 69 "CONNECTION_CLOSE": 4, 70 "MAX_DATA": 5, 71 "MAX_STREAM_DATA": 6, 72 "PING": 7, 73 "BLOCKED": 8, 74 "STREAM_BLOCKED": 9, 75 "PADDING": 10, 76 "CRYPTO": 11, 77 } 78) 79 80func (x FrameType) Enum() *FrameType { 81 p := new(FrameType) 82 *p = x 83 return p 84} 85 86func (x FrameType) String() string { 87 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 88} 89 90func (FrameType) Descriptor() protoreflect.EnumDescriptor { 91 return file_quic_trace_proto_enumTypes[0].Descriptor() 92} 93 94func (FrameType) Type() protoreflect.EnumType { 95 return &file_quic_trace_proto_enumTypes[0] 96} 97 98func (x FrameType) Number() protoreflect.EnumNumber { 99 return protoreflect.EnumNumber(x) 100} 101 102// Deprecated: Do not use. 103func (x *FrameType) UnmarshalJSON(b []byte) error { 104 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 105 if err != nil { 106 return err 107 } 108 *x = FrameType(num) 109 return nil 110} 111 112// Deprecated: Use FrameType.Descriptor instead. 113func (FrameType) EnumDescriptor() ([]byte, []int) { 114 return file_quic_trace_proto_rawDescGZIP(), []int{0} 115} 116 117// Metadata for CONNECTION_CLOSE frames. 118// Close_type will indicate whether the close is a Google QUIC close, 119// IETF QUIC Transport CONNECTION CLOSE, or IETF QUIC Application 120// Connection Close, frame. 121type CloseType int32 122 123const ( 124 CloseType_GOOGLE_QUIC_CONNECTION_CLOSE CloseType = 0 125 CloseType_IETF_QUIC_TRANSPORT_CONNECTION_CLOSE CloseType = 1 126 CloseType_IETF_QUIC_APPLICATION_CONNECTION_CLOSE CloseType = 2 127) 128 129// Enum value maps for CloseType. 130var ( 131 CloseType_name = map[int32]string{ 132 0: "GOOGLE_QUIC_CONNECTION_CLOSE", 133 1: "IETF_QUIC_TRANSPORT_CONNECTION_CLOSE", 134 2: "IETF_QUIC_APPLICATION_CONNECTION_CLOSE", 135 } 136 CloseType_value = map[string]int32{ 137 "GOOGLE_QUIC_CONNECTION_CLOSE": 0, 138 "IETF_QUIC_TRANSPORT_CONNECTION_CLOSE": 1, 139 "IETF_QUIC_APPLICATION_CONNECTION_CLOSE": 2, 140 } 141) 142 143func (x CloseType) Enum() *CloseType { 144 p := new(CloseType) 145 *p = x 146 return p 147} 148 149func (x CloseType) String() string { 150 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 151} 152 153func (CloseType) Descriptor() protoreflect.EnumDescriptor { 154 return file_quic_trace_proto_enumTypes[1].Descriptor() 155} 156 157func (CloseType) Type() protoreflect.EnumType { 158 return &file_quic_trace_proto_enumTypes[1] 159} 160 161func (x CloseType) Number() protoreflect.EnumNumber { 162 return protoreflect.EnumNumber(x) 163} 164 165// Deprecated: Do not use. 166func (x *CloseType) UnmarshalJSON(b []byte) error { 167 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 168 if err != nil { 169 return err 170 } 171 *x = CloseType(num) 172 return nil 173} 174 175// Deprecated: Use CloseType.Descriptor instead. 176func (CloseType) EnumDescriptor() ([]byte, []int) { 177 return file_quic_trace_proto_rawDescGZIP(), []int{1} 178} 179 180type EncryptionLevel int32 181 182const ( 183 EncryptionLevel_ENCRYPTION_UNKNOWN EncryptionLevel = 0 184 EncryptionLevel_ENCRYPTION_INITIAL EncryptionLevel = 1 185 EncryptionLevel_ENCRYPTION_0RTT EncryptionLevel = 2 186 EncryptionLevel_ENCRYPTION_1RTT EncryptionLevel = 3 187 EncryptionLevel_ENCRYPTION_HANDSHAKE EncryptionLevel = 4 188) 189 190// Enum value maps for EncryptionLevel. 191var ( 192 EncryptionLevel_name = map[int32]string{ 193 0: "ENCRYPTION_UNKNOWN", 194 1: "ENCRYPTION_INITIAL", 195 2: "ENCRYPTION_0RTT", 196 3: "ENCRYPTION_1RTT", 197 4: "ENCRYPTION_HANDSHAKE", 198 } 199 EncryptionLevel_value = map[string]int32{ 200 "ENCRYPTION_UNKNOWN": 0, 201 "ENCRYPTION_INITIAL": 1, 202 "ENCRYPTION_0RTT": 2, 203 "ENCRYPTION_1RTT": 3, 204 "ENCRYPTION_HANDSHAKE": 4, 205 } 206) 207 208func (x EncryptionLevel) Enum() *EncryptionLevel { 209 p := new(EncryptionLevel) 210 *p = x 211 return p 212} 213 214func (x EncryptionLevel) String() string { 215 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 216} 217 218func (EncryptionLevel) Descriptor() protoreflect.EnumDescriptor { 219 return file_quic_trace_proto_enumTypes[2].Descriptor() 220} 221 222func (EncryptionLevel) Type() protoreflect.EnumType { 223 return &file_quic_trace_proto_enumTypes[2] 224} 225 226func (x EncryptionLevel) Number() protoreflect.EnumNumber { 227 return protoreflect.EnumNumber(x) 228} 229 230// Deprecated: Do not use. 231func (x *EncryptionLevel) UnmarshalJSON(b []byte) error { 232 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 233 if err != nil { 234 return err 235 } 236 *x = EncryptionLevel(num) 237 return nil 238} 239 240// Deprecated: Use EncryptionLevel.Descriptor instead. 241func (EncryptionLevel) EnumDescriptor() ([]byte, []int) { 242 return file_quic_trace_proto_rawDescGZIP(), []int{2} 243} 244 245type EventType int32 246 247const ( 248 EventType_UNKNOWN_EVENT EventType = 0 249 EventType_PACKET_SENT EventType = 1 250 EventType_PACKET_RECEIVED EventType = 2 251 EventType_PACKET_LOST EventType = 3 252 // An APPLICATION_LIMITED event occurs when the sender is capable of sending 253 // more data and tries to send it, but discovers that it does not have any 254 // outstanding data to send. Such events are important to some congestion 255 // control algorithms (for example, BBR) since they are trying to measure the 256 // largest achievable throughput, but it is impossible to measure it when the 257 // application does not send anything. 258 EventType_APPLICATION_LIMITED EventType = 4 259 // Record when external information about expected network conditions 260 // (available bandwidth, RTT, congestion window, etc) is supplied to the 261 // sender. 262 EventType_EXTERNAL_PARAMETERS EventType = 5 263) 264 265// Enum value maps for EventType. 266var ( 267 EventType_name = map[int32]string{ 268 0: "UNKNOWN_EVENT", 269 1: "PACKET_SENT", 270 2: "PACKET_RECEIVED", 271 3: "PACKET_LOST", 272 4: "APPLICATION_LIMITED", 273 5: "EXTERNAL_PARAMETERS", 274 } 275 EventType_value = map[string]int32{ 276 "UNKNOWN_EVENT": 0, 277 "PACKET_SENT": 1, 278 "PACKET_RECEIVED": 2, 279 "PACKET_LOST": 3, 280 "APPLICATION_LIMITED": 4, 281 "EXTERNAL_PARAMETERS": 5, 282 } 283) 284 285func (x EventType) Enum() *EventType { 286 p := new(EventType) 287 *p = x 288 return p 289} 290 291func (x EventType) String() string { 292 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 293} 294 295func (EventType) Descriptor() protoreflect.EnumDescriptor { 296 return file_quic_trace_proto_enumTypes[3].Descriptor() 297} 298 299func (EventType) Type() protoreflect.EnumType { 300 return &file_quic_trace_proto_enumTypes[3] 301} 302 303func (x EventType) Number() protoreflect.EnumNumber { 304 return protoreflect.EnumNumber(x) 305} 306 307// Deprecated: Do not use. 308func (x *EventType) UnmarshalJSON(b []byte) error { 309 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 310 if err != nil { 311 return err 312 } 313 *x = EventType(num) 314 return nil 315} 316 317// Deprecated: Use EventType.Descriptor instead. 318func (EventType) EnumDescriptor() ([]byte, []int) { 319 return file_quic_trace_proto_rawDescGZIP(), []int{3} 320} 321 322type TransmissionReason int32 323 324const ( 325 // Indicates that there was not any particular special reason the packet was 326 // sent. 327 TransmissionReason_NORMAL_TRANSMISSION TransmissionReason = 0 328 // Indicates that the packet sent is a tail loss probe, cf. 329 // https://tools.ietf.org/html/draft-ietf-quic-recovery-14#section-4.3.2 330 TransmissionReason_TAIL_LOSS_PROBE TransmissionReason = 1 331 // Indicates that the packet is sent due to retransmission timeout, cf 332 // https://tools.ietf.org/html/draft-ietf-quic-recovery-14#section-4.3.3 333 TransmissionReason_RTO_TRANSMISSION TransmissionReason = 2 334 // Indicates that the packet is sent in order to probe whether there is extra 335 // bandwidth available in cases where the sender needs an estimate of 336 // available bandwidth, but the application does not provide enough data for 337 // such estimate to become naturally available. This is usually only used in 338 // real-time protocols. 339 TransmissionReason_PROBING_TRANSMISSION TransmissionReason = 3 340) 341 342// Enum value maps for TransmissionReason. 343var ( 344 TransmissionReason_name = map[int32]string{ 345 0: "NORMAL_TRANSMISSION", 346 1: "TAIL_LOSS_PROBE", 347 2: "RTO_TRANSMISSION", 348 3: "PROBING_TRANSMISSION", 349 } 350 TransmissionReason_value = map[string]int32{ 351 "NORMAL_TRANSMISSION": 0, 352 "TAIL_LOSS_PROBE": 1, 353 "RTO_TRANSMISSION": 2, 354 "PROBING_TRANSMISSION": 3, 355 } 356) 357 358func (x TransmissionReason) Enum() *TransmissionReason { 359 p := new(TransmissionReason) 360 *p = x 361 return p 362} 363 364func (x TransmissionReason) String() string { 365 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 366} 367 368func (TransmissionReason) Descriptor() protoreflect.EnumDescriptor { 369 return file_quic_trace_proto_enumTypes[4].Descriptor() 370} 371 372func (TransmissionReason) Type() protoreflect.EnumType { 373 return &file_quic_trace_proto_enumTypes[4] 374} 375 376func (x TransmissionReason) Number() protoreflect.EnumNumber { 377 return protoreflect.EnumNumber(x) 378} 379 380// Deprecated: Do not use. 381func (x *TransmissionReason) UnmarshalJSON(b []byte) error { 382 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 383 if err != nil { 384 return err 385 } 386 *x = TransmissionReason(num) 387 return nil 388} 389 390// Deprecated: Use TransmissionReason.Descriptor instead. 391func (TransmissionReason) EnumDescriptor() ([]byte, []int) { 392 return file_quic_trace_proto_rawDescGZIP(), []int{4} 393} 394 395// Metadata for STREAM frames. 396type StreamFrameInfo struct { 397 state protoimpl.MessageState 398 sizeCache protoimpl.SizeCache 399 unknownFields protoimpl.UnknownFields 400 401 StreamId *uint64 `protobuf:"varint,1,opt,name=stream_id,json=streamId" json:"stream_id,omitempty"` 402 Fin *bool `protobuf:"varint,2,opt,name=fin" json:"fin,omitempty"` 403 Length *uint64 `protobuf:"varint,3,opt,name=length" json:"length,omitempty"` 404 Offset *uint64 `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"` 405} 406 407func (x *StreamFrameInfo) Reset() { 408 *x = StreamFrameInfo{} 409 if protoimpl.UnsafeEnabled { 410 mi := &file_quic_trace_proto_msgTypes[0] 411 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 412 ms.StoreMessageInfo(mi) 413 } 414} 415 416func (x *StreamFrameInfo) String() string { 417 return protoimpl.X.MessageStringOf(x) 418} 419 420func (*StreamFrameInfo) ProtoMessage() {} 421 422func (x *StreamFrameInfo) ProtoReflect() protoreflect.Message { 423 mi := &file_quic_trace_proto_msgTypes[0] 424 if protoimpl.UnsafeEnabled && x != nil { 425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 426 if ms.LoadMessageInfo() == nil { 427 ms.StoreMessageInfo(mi) 428 } 429 return ms 430 } 431 return mi.MessageOf(x) 432} 433 434// Deprecated: Use StreamFrameInfo.ProtoReflect.Descriptor instead. 435func (*StreamFrameInfo) Descriptor() ([]byte, []int) { 436 return file_quic_trace_proto_rawDescGZIP(), []int{0} 437} 438 439func (x *StreamFrameInfo) GetStreamId() uint64 { 440 if x != nil && x.StreamId != nil { 441 return *x.StreamId 442 } 443 return 0 444} 445 446func (x *StreamFrameInfo) GetFin() bool { 447 if x != nil && x.Fin != nil { 448 return *x.Fin 449 } 450 return false 451} 452 453func (x *StreamFrameInfo) GetLength() uint64 { 454 if x != nil && x.Length != nil { 455 return *x.Length 456 } 457 return 0 458} 459 460func (x *StreamFrameInfo) GetOffset() uint64 { 461 if x != nil && x.Offset != nil { 462 return *x.Offset 463 } 464 return 0 465} 466 467// Metadata for CRYPTO frames. 468type CryptoFrameInfo struct { 469 state protoimpl.MessageState 470 sizeCache protoimpl.SizeCache 471 unknownFields protoimpl.UnknownFields 472 473 Length *uint64 `protobuf:"varint,1,opt,name=length" json:"length,omitempty"` 474 Offset *uint64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"` 475} 476 477func (x *CryptoFrameInfo) Reset() { 478 *x = CryptoFrameInfo{} 479 if protoimpl.UnsafeEnabled { 480 mi := &file_quic_trace_proto_msgTypes[1] 481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 482 ms.StoreMessageInfo(mi) 483 } 484} 485 486func (x *CryptoFrameInfo) String() string { 487 return protoimpl.X.MessageStringOf(x) 488} 489 490func (*CryptoFrameInfo) ProtoMessage() {} 491 492func (x *CryptoFrameInfo) ProtoReflect() protoreflect.Message { 493 mi := &file_quic_trace_proto_msgTypes[1] 494 if protoimpl.UnsafeEnabled && x != nil { 495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 496 if ms.LoadMessageInfo() == nil { 497 ms.StoreMessageInfo(mi) 498 } 499 return ms 500 } 501 return mi.MessageOf(x) 502} 503 504// Deprecated: Use CryptoFrameInfo.ProtoReflect.Descriptor instead. 505func (*CryptoFrameInfo) Descriptor() ([]byte, []int) { 506 return file_quic_trace_proto_rawDescGZIP(), []int{1} 507} 508 509func (x *CryptoFrameInfo) GetLength() uint64 { 510 if x != nil && x.Length != nil { 511 return *x.Length 512 } 513 return 0 514} 515 516func (x *CryptoFrameInfo) GetOffset() uint64 { 517 if x != nil && x.Offset != nil { 518 return *x.Offset 519 } 520 return 0 521} 522 523// The intervals are closed, i.e. the interval represented here is 524// [first_packet, last_packet]. 525type AckBlock struct { 526 state protoimpl.MessageState 527 sizeCache protoimpl.SizeCache 528 unknownFields protoimpl.UnknownFields 529 530 FirstPacket *uint64 `protobuf:"varint,1,opt,name=first_packet,json=firstPacket" json:"first_packet,omitempty"` 531 LastPacket *uint64 `protobuf:"varint,2,opt,name=last_packet,json=lastPacket" json:"last_packet,omitempty"` 532} 533 534func (x *AckBlock) Reset() { 535 *x = AckBlock{} 536 if protoimpl.UnsafeEnabled { 537 mi := &file_quic_trace_proto_msgTypes[2] 538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 539 ms.StoreMessageInfo(mi) 540 } 541} 542 543func (x *AckBlock) String() string { 544 return protoimpl.X.MessageStringOf(x) 545} 546 547func (*AckBlock) ProtoMessage() {} 548 549func (x *AckBlock) ProtoReflect() protoreflect.Message { 550 mi := &file_quic_trace_proto_msgTypes[2] 551 if protoimpl.UnsafeEnabled && x != nil { 552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 553 if ms.LoadMessageInfo() == nil { 554 ms.StoreMessageInfo(mi) 555 } 556 return ms 557 } 558 return mi.MessageOf(x) 559} 560 561// Deprecated: Use AckBlock.ProtoReflect.Descriptor instead. 562func (*AckBlock) Descriptor() ([]byte, []int) { 563 return file_quic_trace_proto_rawDescGZIP(), []int{2} 564} 565 566func (x *AckBlock) GetFirstPacket() uint64 { 567 if x != nil && x.FirstPacket != nil { 568 return *x.FirstPacket 569 } 570 return 0 571} 572 573func (x *AckBlock) GetLastPacket() uint64 { 574 if x != nil && x.LastPacket != nil { 575 return *x.LastPacket 576 } 577 return 0 578} 579 580// Metadata for ACK frames. 581type AckInfo struct { 582 state protoimpl.MessageState 583 sizeCache protoimpl.SizeCache 584 unknownFields protoimpl.UnknownFields 585 586 AckedPackets []*AckBlock `protobuf:"bytes,1,rep,name=acked_packets,json=ackedPackets" json:"acked_packets,omitempty"` 587 AckDelayUs *uint64 `protobuf:"varint,2,opt,name=ack_delay_us,json=ackDelayUs" json:"ack_delay_us,omitempty"` 588} 589 590func (x *AckInfo) Reset() { 591 *x = AckInfo{} 592 if protoimpl.UnsafeEnabled { 593 mi := &file_quic_trace_proto_msgTypes[3] 594 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 595 ms.StoreMessageInfo(mi) 596 } 597} 598 599func (x *AckInfo) String() string { 600 return protoimpl.X.MessageStringOf(x) 601} 602 603func (*AckInfo) ProtoMessage() {} 604 605func (x *AckInfo) ProtoReflect() protoreflect.Message { 606 mi := &file_quic_trace_proto_msgTypes[3] 607 if protoimpl.UnsafeEnabled && x != nil { 608 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 609 if ms.LoadMessageInfo() == nil { 610 ms.StoreMessageInfo(mi) 611 } 612 return ms 613 } 614 return mi.MessageOf(x) 615} 616 617// Deprecated: Use AckInfo.ProtoReflect.Descriptor instead. 618func (*AckInfo) Descriptor() ([]byte, []int) { 619 return file_quic_trace_proto_rawDescGZIP(), []int{3} 620} 621 622func (x *AckInfo) GetAckedPackets() []*AckBlock { 623 if x != nil { 624 return x.AckedPackets 625 } 626 return nil 627} 628 629func (x *AckInfo) GetAckDelayUs() uint64 { 630 if x != nil && x.AckDelayUs != nil { 631 return *x.AckDelayUs 632 } 633 return 0 634} 635 636// Metadata for RST_STREAM frames. 637type ResetStreamInfo struct { 638 state protoimpl.MessageState 639 sizeCache protoimpl.SizeCache 640 unknownFields protoimpl.UnknownFields 641 642 StreamId *uint64 `protobuf:"varint,1,opt,name=stream_id,json=streamId" json:"stream_id,omitempty"` 643 ApplicationErrorCode *uint32 `protobuf:"varint,2,opt,name=application_error_code,json=applicationErrorCode" json:"application_error_code,omitempty"` 644 FinalOffset *uint64 `protobuf:"varint,3,opt,name=final_offset,json=finalOffset" json:"final_offset,omitempty"` 645} 646 647func (x *ResetStreamInfo) Reset() { 648 *x = ResetStreamInfo{} 649 if protoimpl.UnsafeEnabled { 650 mi := &file_quic_trace_proto_msgTypes[4] 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 ms.StoreMessageInfo(mi) 653 } 654} 655 656func (x *ResetStreamInfo) String() string { 657 return protoimpl.X.MessageStringOf(x) 658} 659 660func (*ResetStreamInfo) ProtoMessage() {} 661 662func (x *ResetStreamInfo) ProtoReflect() protoreflect.Message { 663 mi := &file_quic_trace_proto_msgTypes[4] 664 if protoimpl.UnsafeEnabled && x != nil { 665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 666 if ms.LoadMessageInfo() == nil { 667 ms.StoreMessageInfo(mi) 668 } 669 return ms 670 } 671 return mi.MessageOf(x) 672} 673 674// Deprecated: Use ResetStreamInfo.ProtoReflect.Descriptor instead. 675func (*ResetStreamInfo) Descriptor() ([]byte, []int) { 676 return file_quic_trace_proto_rawDescGZIP(), []int{4} 677} 678 679func (x *ResetStreamInfo) GetStreamId() uint64 { 680 if x != nil && x.StreamId != nil { 681 return *x.StreamId 682 } 683 return 0 684} 685 686func (x *ResetStreamInfo) GetApplicationErrorCode() uint32 { 687 if x != nil && x.ApplicationErrorCode != nil { 688 return *x.ApplicationErrorCode 689 } 690 return 0 691} 692 693func (x *ResetStreamInfo) GetFinalOffset() uint64 { 694 if x != nil && x.FinalOffset != nil { 695 return *x.FinalOffset 696 } 697 return 0 698} 699 700// Metadata for CONNECTION_CLOSE/APPLICATION_CLOSE frames. 701type CloseInfo struct { 702 state protoimpl.MessageState 703 sizeCache protoimpl.SizeCache 704 unknownFields protoimpl.UnknownFields 705 706 ErrorCode *uint32 `protobuf:"varint,1,opt,name=error_code,json=errorCode" json:"error_code,omitempty"` 707 ReasonPhrase *string `protobuf:"bytes,2,opt,name=reason_phrase,json=reasonPhrase" json:"reason_phrase,omitempty"` 708 CloseType *CloseType `protobuf:"varint,3,opt,name=close_type,json=closeType,enum=pb.CloseType" json:"close_type,omitempty"` 709 TransportCloseFrameType *uint64 `protobuf:"varint,4,opt,name=transport_close_frame_type,json=transportCloseFrameType" json:"transport_close_frame_type,omitempty"` 710} 711 712func (x *CloseInfo) Reset() { 713 *x = CloseInfo{} 714 if protoimpl.UnsafeEnabled { 715 mi := &file_quic_trace_proto_msgTypes[5] 716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 717 ms.StoreMessageInfo(mi) 718 } 719} 720 721func (x *CloseInfo) String() string { 722 return protoimpl.X.MessageStringOf(x) 723} 724 725func (*CloseInfo) ProtoMessage() {} 726 727func (x *CloseInfo) ProtoReflect() protoreflect.Message { 728 mi := &file_quic_trace_proto_msgTypes[5] 729 if protoimpl.UnsafeEnabled && x != nil { 730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 731 if ms.LoadMessageInfo() == nil { 732 ms.StoreMessageInfo(mi) 733 } 734 return ms 735 } 736 return mi.MessageOf(x) 737} 738 739// Deprecated: Use CloseInfo.ProtoReflect.Descriptor instead. 740func (*CloseInfo) Descriptor() ([]byte, []int) { 741 return file_quic_trace_proto_rawDescGZIP(), []int{5} 742} 743 744func (x *CloseInfo) GetErrorCode() uint32 { 745 if x != nil && x.ErrorCode != nil { 746 return *x.ErrorCode 747 } 748 return 0 749} 750 751func (x *CloseInfo) GetReasonPhrase() string { 752 if x != nil && x.ReasonPhrase != nil { 753 return *x.ReasonPhrase 754 } 755 return "" 756} 757 758func (x *CloseInfo) GetCloseType() CloseType { 759 if x != nil && x.CloseType != nil { 760 return *x.CloseType 761 } 762 return CloseType_GOOGLE_QUIC_CONNECTION_CLOSE 763} 764 765func (x *CloseInfo) GetTransportCloseFrameType() uint64 { 766 if x != nil && x.TransportCloseFrameType != nil { 767 return *x.TransportCloseFrameType 768 } 769 return 0 770} 771 772// Metadata for MAX_DATA/MAX_STREAM_DATA frames. 773type FlowControlInfo struct { 774 state protoimpl.MessageState 775 sizeCache protoimpl.SizeCache 776 unknownFields protoimpl.UnknownFields 777 778 MaxData *uint64 `protobuf:"varint,1,opt,name=max_data,json=maxData" json:"max_data,omitempty"` 779 StreamId *uint64 `protobuf:"varint,2,opt,name=stream_id,json=streamId" json:"stream_id,omitempty"` 780} 781 782func (x *FlowControlInfo) Reset() { 783 *x = FlowControlInfo{} 784 if protoimpl.UnsafeEnabled { 785 mi := &file_quic_trace_proto_msgTypes[6] 786 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 787 ms.StoreMessageInfo(mi) 788 } 789} 790 791func (x *FlowControlInfo) String() string { 792 return protoimpl.X.MessageStringOf(x) 793} 794 795func (*FlowControlInfo) ProtoMessage() {} 796 797func (x *FlowControlInfo) ProtoReflect() protoreflect.Message { 798 mi := &file_quic_trace_proto_msgTypes[6] 799 if protoimpl.UnsafeEnabled && x != nil { 800 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 801 if ms.LoadMessageInfo() == nil { 802 ms.StoreMessageInfo(mi) 803 } 804 return ms 805 } 806 return mi.MessageOf(x) 807} 808 809// Deprecated: Use FlowControlInfo.ProtoReflect.Descriptor instead. 810func (*FlowControlInfo) Descriptor() ([]byte, []int) { 811 return file_quic_trace_proto_rawDescGZIP(), []int{6} 812} 813 814func (x *FlowControlInfo) GetMaxData() uint64 { 815 if x != nil && x.MaxData != nil { 816 return *x.MaxData 817 } 818 return 0 819} 820 821func (x *FlowControlInfo) GetStreamId() uint64 { 822 if x != nil && x.StreamId != nil { 823 return *x.StreamId 824 } 825 return 0 826} 827 828// A message representing a frame, either sent or received. 829type Frame struct { 830 state protoimpl.MessageState 831 sizeCache protoimpl.SizeCache 832 unknownFields protoimpl.UnknownFields 833 834 FrameType *FrameType `protobuf:"varint,1,opt,name=frame_type,json=frameType,enum=pb.FrameType" json:"frame_type,omitempty"` 835 StreamFrameInfo *StreamFrameInfo `protobuf:"bytes,2,opt,name=stream_frame_info,json=streamFrameInfo" json:"stream_frame_info,omitempty"` 836 AckInfo *AckInfo `protobuf:"bytes,3,opt,name=ack_info,json=ackInfo" json:"ack_info,omitempty"` 837 ResetStreamInfo *ResetStreamInfo `protobuf:"bytes,4,opt,name=reset_stream_info,json=resetStreamInfo" json:"reset_stream_info,omitempty"` 838 CloseInfo *CloseInfo `protobuf:"bytes,5,opt,name=close_info,json=closeInfo" json:"close_info,omitempty"` 839 FlowControlInfo *FlowControlInfo `protobuf:"bytes,6,opt,name=flow_control_info,json=flowControlInfo" json:"flow_control_info,omitempty"` 840 CryptoFrameInfo *CryptoFrameInfo `protobuf:"bytes,7,opt,name=crypto_frame_info,json=cryptoFrameInfo" json:"crypto_frame_info,omitempty"` 841} 842 843func (x *Frame) Reset() { 844 *x = Frame{} 845 if protoimpl.UnsafeEnabled { 846 mi := &file_quic_trace_proto_msgTypes[7] 847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 848 ms.StoreMessageInfo(mi) 849 } 850} 851 852func (x *Frame) String() string { 853 return protoimpl.X.MessageStringOf(x) 854} 855 856func (*Frame) ProtoMessage() {} 857 858func (x *Frame) ProtoReflect() protoreflect.Message { 859 mi := &file_quic_trace_proto_msgTypes[7] 860 if protoimpl.UnsafeEnabled && x != nil { 861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 862 if ms.LoadMessageInfo() == nil { 863 ms.StoreMessageInfo(mi) 864 } 865 return ms 866 } 867 return mi.MessageOf(x) 868} 869 870// Deprecated: Use Frame.ProtoReflect.Descriptor instead. 871func (*Frame) Descriptor() ([]byte, []int) { 872 return file_quic_trace_proto_rawDescGZIP(), []int{7} 873} 874 875func (x *Frame) GetFrameType() FrameType { 876 if x != nil && x.FrameType != nil { 877 return *x.FrameType 878 } 879 return FrameType_UNKNOWN_FRAME 880} 881 882func (x *Frame) GetStreamFrameInfo() *StreamFrameInfo { 883 if x != nil { 884 return x.StreamFrameInfo 885 } 886 return nil 887} 888 889func (x *Frame) GetAckInfo() *AckInfo { 890 if x != nil { 891 return x.AckInfo 892 } 893 return nil 894} 895 896func (x *Frame) GetResetStreamInfo() *ResetStreamInfo { 897 if x != nil { 898 return x.ResetStreamInfo 899 } 900 return nil 901} 902 903func (x *Frame) GetCloseInfo() *CloseInfo { 904 if x != nil { 905 return x.CloseInfo 906 } 907 return nil 908} 909 910func (x *Frame) GetFlowControlInfo() *FlowControlInfo { 911 if x != nil { 912 return x.FlowControlInfo 913 } 914 return nil 915} 916 917func (x *Frame) GetCryptoFrameInfo() *CryptoFrameInfo { 918 if x != nil { 919 return x.CryptoFrameInfo 920 } 921 return nil 922} 923 924// Metadata that represents transport stack's understanding of the current state 925// of the transport channel. 926type TransportState struct { 927 state protoimpl.MessageState 928 sizeCache protoimpl.SizeCache 929 unknownFields protoimpl.UnknownFields 930 931 MinRttUs *uint64 `protobuf:"varint,1,opt,name=min_rtt_us,json=minRttUs" json:"min_rtt_us,omitempty"` 932 // Smoothed RTT, usually computed using EWMA. 933 SmoothedRttUs *uint64 `protobuf:"varint,2,opt,name=smoothed_rtt_us,json=smoothedRttUs" json:"smoothed_rtt_us,omitempty"` 934 // The latest RTT measureent available. 935 LastRttUs *uint64 `protobuf:"varint,3,opt,name=last_rtt_us,json=lastRttUs" json:"last_rtt_us,omitempty"` 936 InFlightBytes *uint64 `protobuf:"varint,4,opt,name=in_flight_bytes,json=inFlightBytes" json:"in_flight_bytes,omitempty"` 937 CwndBytes *uint64 `protobuf:"varint,5,opt,name=cwnd_bytes,json=cwndBytes" json:"cwnd_bytes,omitempty"` 938 // Pacing rate, in bits per second. 939 PacingRateBps *uint64 `protobuf:"varint,6,opt,name=pacing_rate_bps,json=pacingRateBps" json:"pacing_rate_bps,omitempty"` 940 // Any arbitrary information about congestion control state that is not 941 // representable via parameters above. 942 CongestionControlState *string `protobuf:"bytes,7,opt,name=congestion_control_state,json=congestionControlState" json:"congestion_control_state,omitempty"` 943} 944 945func (x *TransportState) Reset() { 946 *x = TransportState{} 947 if protoimpl.UnsafeEnabled { 948 mi := &file_quic_trace_proto_msgTypes[8] 949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 950 ms.StoreMessageInfo(mi) 951 } 952} 953 954func (x *TransportState) String() string { 955 return protoimpl.X.MessageStringOf(x) 956} 957 958func (*TransportState) ProtoMessage() {} 959 960func (x *TransportState) ProtoReflect() protoreflect.Message { 961 mi := &file_quic_trace_proto_msgTypes[8] 962 if protoimpl.UnsafeEnabled && x != nil { 963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 964 if ms.LoadMessageInfo() == nil { 965 ms.StoreMessageInfo(mi) 966 } 967 return ms 968 } 969 return mi.MessageOf(x) 970} 971 972// Deprecated: Use TransportState.ProtoReflect.Descriptor instead. 973func (*TransportState) Descriptor() ([]byte, []int) { 974 return file_quic_trace_proto_rawDescGZIP(), []int{8} 975} 976 977func (x *TransportState) GetMinRttUs() uint64 { 978 if x != nil && x.MinRttUs != nil { 979 return *x.MinRttUs 980 } 981 return 0 982} 983 984func (x *TransportState) GetSmoothedRttUs() uint64 { 985 if x != nil && x.SmoothedRttUs != nil { 986 return *x.SmoothedRttUs 987 } 988 return 0 989} 990 991func (x *TransportState) GetLastRttUs() uint64 { 992 if x != nil && x.LastRttUs != nil { 993 return *x.LastRttUs 994 } 995 return 0 996} 997 998func (x *TransportState) GetInFlightBytes() uint64 { 999 if x != nil && x.InFlightBytes != nil { 1000 return *x.InFlightBytes 1001 } 1002 return 0 1003} 1004 1005func (x *TransportState) GetCwndBytes() uint64 { 1006 if x != nil && x.CwndBytes != nil { 1007 return *x.CwndBytes 1008 } 1009 return 0 1010} 1011 1012func (x *TransportState) GetPacingRateBps() uint64 { 1013 if x != nil && x.PacingRateBps != nil { 1014 return *x.PacingRateBps 1015 } 1016 return 0 1017} 1018 1019func (x *TransportState) GetCongestionControlState() string { 1020 if x != nil && x.CongestionControlState != nil { 1021 return *x.CongestionControlState 1022 } 1023 return "" 1024} 1025 1026// Documents external network parameters supplied to the sender. Typically not 1027// all of those would be supplied (e.g. if bandwidth and RTT are supplied, you 1028// can infer the suggested CWND), but there are no restrictions on which fields 1029// may or may not be set. 1030type ExternalNetworkParameters struct { 1031 state protoimpl.MessageState 1032 sizeCache protoimpl.SizeCache 1033 unknownFields protoimpl.UnknownFields 1034 1035 BandwidthBps *uint64 `protobuf:"varint,1,opt,name=bandwidth_bps,json=bandwidthBps" json:"bandwidth_bps,omitempty"` // in bits per second 1036 RttUs *uint64 `protobuf:"varint,2,opt,name=rtt_us,json=rttUs" json:"rtt_us,omitempty"` 1037 CwndBytes *uint64 `protobuf:"varint,3,opt,name=cwnd_bytes,json=cwndBytes" json:"cwnd_bytes,omitempty"` 1038} 1039 1040func (x *ExternalNetworkParameters) Reset() { 1041 *x = ExternalNetworkParameters{} 1042 if protoimpl.UnsafeEnabled { 1043 mi := &file_quic_trace_proto_msgTypes[9] 1044 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1045 ms.StoreMessageInfo(mi) 1046 } 1047} 1048 1049func (x *ExternalNetworkParameters) String() string { 1050 return protoimpl.X.MessageStringOf(x) 1051} 1052 1053func (*ExternalNetworkParameters) ProtoMessage() {} 1054 1055func (x *ExternalNetworkParameters) ProtoReflect() protoreflect.Message { 1056 mi := &file_quic_trace_proto_msgTypes[9] 1057 if protoimpl.UnsafeEnabled && x != nil { 1058 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1059 if ms.LoadMessageInfo() == nil { 1060 ms.StoreMessageInfo(mi) 1061 } 1062 return ms 1063 } 1064 return mi.MessageOf(x) 1065} 1066 1067// Deprecated: Use ExternalNetworkParameters.ProtoReflect.Descriptor instead. 1068func (*ExternalNetworkParameters) Descriptor() ([]byte, []int) { 1069 return file_quic_trace_proto_rawDescGZIP(), []int{9} 1070} 1071 1072func (x *ExternalNetworkParameters) GetBandwidthBps() uint64 { 1073 if x != nil && x.BandwidthBps != nil { 1074 return *x.BandwidthBps 1075 } 1076 return 0 1077} 1078 1079func (x *ExternalNetworkParameters) GetRttUs() uint64 { 1080 if x != nil && x.RttUs != nil { 1081 return *x.RttUs 1082 } 1083 return 0 1084} 1085 1086func (x *ExternalNetworkParameters) GetCwndBytes() uint64 { 1087 if x != nil && x.CwndBytes != nil { 1088 return *x.CwndBytes 1089 } 1090 return 0 1091} 1092 1093// An event that has occurred over duration of the connection. 1094type Event struct { 1095 state protoimpl.MessageState 1096 sizeCache protoimpl.SizeCache 1097 unknownFields protoimpl.UnknownFields 1098 1099 TimeUs *uint64 `protobuf:"varint,1,opt,name=time_us,json=timeUs" json:"time_us,omitempty"` 1100 EventType *EventType `protobuf:"varint,2,opt,name=event_type,json=eventType,enum=pb.EventType" json:"event_type,omitempty"` 1101 PacketNumber *uint64 `protobuf:"varint,3,opt,name=packet_number,json=packetNumber" json:"packet_number,omitempty"` 1102 Frames []*Frame `protobuf:"bytes,4,rep,name=frames" json:"frames,omitempty"` 1103 PacketSize *uint64 `protobuf:"varint,5,opt,name=packet_size,json=packetSize" json:"packet_size,omitempty"` 1104 EncryptionLevel *EncryptionLevel `protobuf:"varint,6,opt,name=encryption_level,json=encryptionLevel,enum=pb.EncryptionLevel" json:"encryption_level,omitempty"` 1105 // State of the transport stack after the event has happened. 1106 TransportState *TransportState `protobuf:"bytes,7,opt,name=transport_state,json=transportState" json:"transport_state,omitempty"` 1107 // For event_type = EXTERNAL_PARAMETERS, record parameters specified. 1108 ExternalNetworkParameters *ExternalNetworkParameters `protobuf:"bytes,8,opt,name=external_network_parameters,json=externalNetworkParameters" json:"external_network_parameters,omitempty"` 1109 // For sent packets, indicate if there is a special reason for why the packet 1110 // in question was transmitted. 1111 TransmissionReason *TransmissionReason `protobuf:"varint,9,opt,name=transmission_reason,json=transmissionReason,enum=pb.TransmissionReason,def=0" json:"transmission_reason,omitempty"` 1112} 1113 1114// Default values for Event fields. 1115const ( 1116 Default_Event_TransmissionReason = TransmissionReason_NORMAL_TRANSMISSION 1117) 1118 1119func (x *Event) Reset() { 1120 *x = Event{} 1121 if protoimpl.UnsafeEnabled { 1122 mi := &file_quic_trace_proto_msgTypes[10] 1123 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1124 ms.StoreMessageInfo(mi) 1125 } 1126} 1127 1128func (x *Event) String() string { 1129 return protoimpl.X.MessageStringOf(x) 1130} 1131 1132func (*Event) ProtoMessage() {} 1133 1134func (x *Event) ProtoReflect() protoreflect.Message { 1135 mi := &file_quic_trace_proto_msgTypes[10] 1136 if protoimpl.UnsafeEnabled && x != nil { 1137 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1138 if ms.LoadMessageInfo() == nil { 1139 ms.StoreMessageInfo(mi) 1140 } 1141 return ms 1142 } 1143 return mi.MessageOf(x) 1144} 1145 1146// Deprecated: Use Event.ProtoReflect.Descriptor instead. 1147func (*Event) Descriptor() ([]byte, []int) { 1148 return file_quic_trace_proto_rawDescGZIP(), []int{10} 1149} 1150 1151func (x *Event) GetTimeUs() uint64 { 1152 if x != nil && x.TimeUs != nil { 1153 return *x.TimeUs 1154 } 1155 return 0 1156} 1157 1158func (x *Event) GetEventType() EventType { 1159 if x != nil && x.EventType != nil { 1160 return *x.EventType 1161 } 1162 return EventType_UNKNOWN_EVENT 1163} 1164 1165func (x *Event) GetPacketNumber() uint64 { 1166 if x != nil && x.PacketNumber != nil { 1167 return *x.PacketNumber 1168 } 1169 return 0 1170} 1171 1172func (x *Event) GetFrames() []*Frame { 1173 if x != nil { 1174 return x.Frames 1175 } 1176 return nil 1177} 1178 1179func (x *Event) GetPacketSize() uint64 { 1180 if x != nil && x.PacketSize != nil { 1181 return *x.PacketSize 1182 } 1183 return 0 1184} 1185 1186func (x *Event) GetEncryptionLevel() EncryptionLevel { 1187 if x != nil && x.EncryptionLevel != nil { 1188 return *x.EncryptionLevel 1189 } 1190 return EncryptionLevel_ENCRYPTION_UNKNOWN 1191} 1192 1193func (x *Event) GetTransportState() *TransportState { 1194 if x != nil { 1195 return x.TransportState 1196 } 1197 return nil 1198} 1199 1200func (x *Event) GetExternalNetworkParameters() *ExternalNetworkParameters { 1201 if x != nil { 1202 return x.ExternalNetworkParameters 1203 } 1204 return nil 1205} 1206 1207func (x *Event) GetTransmissionReason() TransmissionReason { 1208 if x != nil && x.TransmissionReason != nil { 1209 return *x.TransmissionReason 1210 } 1211 return Default_Event_TransmissionReason 1212} 1213 1214type Trace struct { 1215 state protoimpl.MessageState 1216 sizeCache protoimpl.SizeCache 1217 unknownFields protoimpl.UnknownFields 1218 1219 // QUIC version tag, as represented on wire. Should be always 4 bytes long. 1220 ProtocolVersion []byte `protobuf:"bytes,1,opt,name=protocol_version,json=protocolVersion" json:"protocol_version,omitempty"` 1221 // Source and destination connection ID. If multiple connection IDs are used, 1222 // record the first one used with short-form header. 1223 SourceConnectionId []byte `protobuf:"bytes,2,opt,name=source_connection_id,json=sourceConnectionId" json:"source_connection_id,omitempty"` 1224 DestinationConnectionId []byte `protobuf:"bytes,3,opt,name=destination_connection_id,json=destinationConnectionId" json:"destination_connection_id,omitempty"` 1225 Events []*Event `protobuf:"bytes,4,rep,name=events" json:"events,omitempty"` 1226} 1227 1228func (x *Trace) Reset() { 1229 *x = Trace{} 1230 if protoimpl.UnsafeEnabled { 1231 mi := &file_quic_trace_proto_msgTypes[11] 1232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1233 ms.StoreMessageInfo(mi) 1234 } 1235} 1236 1237func (x *Trace) String() string { 1238 return protoimpl.X.MessageStringOf(x) 1239} 1240 1241func (*Trace) ProtoMessage() {} 1242 1243func (x *Trace) ProtoReflect() protoreflect.Message { 1244 mi := &file_quic_trace_proto_msgTypes[11] 1245 if protoimpl.UnsafeEnabled && x != nil { 1246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1247 if ms.LoadMessageInfo() == nil { 1248 ms.StoreMessageInfo(mi) 1249 } 1250 return ms 1251 } 1252 return mi.MessageOf(x) 1253} 1254 1255// Deprecated: Use Trace.ProtoReflect.Descriptor instead. 1256func (*Trace) Descriptor() ([]byte, []int) { 1257 return file_quic_trace_proto_rawDescGZIP(), []int{11} 1258} 1259 1260func (x *Trace) GetProtocolVersion() []byte { 1261 if x != nil { 1262 return x.ProtocolVersion 1263 } 1264 return nil 1265} 1266 1267func (x *Trace) GetSourceConnectionId() []byte { 1268 if x != nil { 1269 return x.SourceConnectionId 1270 } 1271 return nil 1272} 1273 1274func (x *Trace) GetDestinationConnectionId() []byte { 1275 if x != nil { 1276 return x.DestinationConnectionId 1277 } 1278 return nil 1279} 1280 1281func (x *Trace) GetEvents() []*Event { 1282 if x != nil { 1283 return x.Events 1284 } 1285 return nil 1286} 1287 1288var File_quic_trace_proto protoreflect.FileDescriptor 1289 1290var file_quic_trace_proto_rawDesc = []byte{ 1291 0x0a, 0x10, 0x71, 0x75, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1292 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x70, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 1293 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 1294 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 1295 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x6e, 0x18, 0x02, 0x20, 1296 0x01, 0x28, 0x08, 0x52, 0x03, 0x66, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 1297 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 1298 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 1299 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x41, 0x0a, 0x0f, 0x43, 0x72, 0x79, 0x70, 1300 0x74, 0x6f, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6c, 1301 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x6e, 1302 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 1303 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4e, 0x0a, 0x08, 0x41, 1304 0x63, 0x6b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 1305 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 1306 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 1307 0x73, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 1308 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x5e, 0x0a, 0x07, 0x41, 1309 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x0d, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 1310 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 1311 0x70, 0x62, 0x2e, 0x41, 0x63, 0x6b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0c, 0x61, 0x63, 0x6b, 1312 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x63, 0x6b, 1313 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 1314 0x0a, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x55, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x0f, 1315 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 1316 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 1317 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 1318 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 1319 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x61, 0x70, 1320 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 1321 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x73, 1322 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4f, 1323 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x49, 1324 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 1325 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 1326 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x68, 0x72, 1327 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x73, 0x6f, 1328 0x6e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 1329 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x62, 1330 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 1331 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 1332 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 1333 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 1334 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 1335 0x70, 0x65, 0x22, 0x49, 0x0a, 0x0f, 0x46, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 1336 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 1337 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 1338 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 1339 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x8f, 0x03, 1340 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 1341 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x62, 1342 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 1343 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 1344 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1345 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x72, 0x61, 0x6d, 1346 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x72, 0x61, 1347 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 1348 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 1349 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 1350 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 1351 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x52, 1352 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 1353 0x72, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 1354 0x2c, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 1355 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 1356 0x66, 0x6f, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 1357 0x11, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 1358 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x6c, 1359 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x66, 1360 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 1361 0x0a, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 1362 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x43, 1363 0x72, 0x79, 0x70, 0x74, 0x6f, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 1364 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 1365 0x9f, 0x02, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 1366 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x74, 0x74, 0x5f, 0x75, 0x73, 1367 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x52, 0x74, 0x74, 0x55, 0x73, 1368 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x74, 0x74, 1369 0x5f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 1370 0x68, 0x65, 0x64, 0x52, 0x74, 0x74, 0x55, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 1371 0x5f, 0x72, 0x74, 0x74, 0x5f, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 1372 0x61, 0x73, 0x74, 0x52, 0x74, 0x74, 0x55, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x5f, 0x66, 1373 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 1374 0x04, 0x52, 0x0d, 0x69, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 1375 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x77, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 1376 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x77, 0x6e, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 1377 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x62, 1378 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 1379 0x52, 0x61, 0x74, 0x65, 0x42, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x67, 0x65, 1380 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 1381 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x67, 0x65, 1382 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 1383 0x65, 0x22, 0x76, 0x0a, 0x19, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x74, 1384 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 1385 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x62, 0x70, 0x73, 0x18, 1386 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 1387 0x42, 0x70, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x74, 0x74, 0x5f, 0x75, 0x73, 0x18, 0x02, 0x20, 1388 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x74, 0x74, 0x55, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x77, 1389 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 1390 0x63, 0x77, 0x6e, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xf1, 0x03, 0x0a, 0x05, 0x45, 0x76, 1391 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x18, 0x01, 1392 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x12, 0x2c, 0x0a, 0x0a, 1393 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 1394 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 1395 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 1396 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 1397 0x04, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 1398 0x21, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 1399 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 1400 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 1401 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x53, 1402 0x69, 0x7a, 0x65, 0x12, 0x3e, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 1403 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 1404 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 1405 0x65, 0x6c, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 1406 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 1407 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 1408 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 1409 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 1410 0x12, 0x5d, 0x0a, 0x1b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 1411 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 1412 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 1413 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 1414 0x74, 0x65, 0x72, 0x73, 0x52, 0x19, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 1415 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 1416 0x5c, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 1417 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 1418 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 1419 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x13, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x54, 0x52, 0x41, 1420 0x4e, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 1421 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 1422 0x0a, 0x05, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1423 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 1424 0x0c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 1425 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 1426 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 1427 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 1428 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 1429 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 1430 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 1431 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 1432 0x12, 0x21, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 1433 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 1434 0x6e, 0x74, 0x73, 0x2a, 0xc2, 0x01, 0x0a, 0x09, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 1435 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x46, 0x52, 0x41, 1436 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x01, 1437 0x12, 0x07, 0x0a, 0x03, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x53, 1438 0x45, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 1439 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 1440 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, 1441 0x13, 0x0a, 0x0f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x41, 1442 0x54, 0x41, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x0b, 1443 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x53, 1444 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x09, 0x12, 1445 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 1446 0x43, 0x52, 0x59, 0x50, 0x54, 0x4f, 0x10, 0x0b, 0x2a, 0x83, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 1447 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 1448 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 1449 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x45, 0x54, 0x46, 1450 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 1451 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 1452 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x49, 0x45, 0x54, 0x46, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 1453 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 1454 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x02, 0x2a, 0x85, 1455 0x01, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 1456 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 1457 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 1458 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 1459 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 1460 0x5f, 0x30, 0x52, 0x54, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x43, 0x52, 0x59, 1461 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x52, 0x54, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 1462 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x53, 1463 0x48, 0x41, 0x4b, 0x45, 0x10, 0x04, 0x2a, 0x87, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 1464 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 1465 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 1466 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 1467 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 1468 0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x17, 1469 0x0a, 0x13, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 1470 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x58, 0x54, 0x45, 0x52, 1471 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x05, 1472 0x2a, 0x72, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1473 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 1474 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 1475 0x13, 0x0a, 0x0f, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x4f, 1476 0x42, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 1477 0x53, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 1478 0x4f, 0x42, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x49, 1479 0x4f, 0x4e, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 1480} 1481 1482var ( 1483 file_quic_trace_proto_rawDescOnce sync.Once 1484 file_quic_trace_proto_rawDescData = file_quic_trace_proto_rawDesc 1485) 1486 1487func file_quic_trace_proto_rawDescGZIP() []byte { 1488 file_quic_trace_proto_rawDescOnce.Do(func() { 1489 file_quic_trace_proto_rawDescData = protoimpl.X.CompressGZIP(file_quic_trace_proto_rawDescData) 1490 }) 1491 return file_quic_trace_proto_rawDescData 1492} 1493 1494var file_quic_trace_proto_enumTypes = make([]protoimpl.EnumInfo, 5) 1495var file_quic_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 12) 1496var file_quic_trace_proto_goTypes = []interface{}{ 1497 (FrameType)(0), // 0: pb.FrameType 1498 (CloseType)(0), // 1: pb.CloseType 1499 (EncryptionLevel)(0), // 2: pb.EncryptionLevel 1500 (EventType)(0), // 3: pb.EventType 1501 (TransmissionReason)(0), // 4: pb.TransmissionReason 1502 (*StreamFrameInfo)(nil), // 5: pb.StreamFrameInfo 1503 (*CryptoFrameInfo)(nil), // 6: pb.CryptoFrameInfo 1504 (*AckBlock)(nil), // 7: pb.AckBlock 1505 (*AckInfo)(nil), // 8: pb.AckInfo 1506 (*ResetStreamInfo)(nil), // 9: pb.ResetStreamInfo 1507 (*CloseInfo)(nil), // 10: pb.CloseInfo 1508 (*FlowControlInfo)(nil), // 11: pb.FlowControlInfo 1509 (*Frame)(nil), // 12: pb.Frame 1510 (*TransportState)(nil), // 13: pb.TransportState 1511 (*ExternalNetworkParameters)(nil), // 14: pb.ExternalNetworkParameters 1512 (*Event)(nil), // 15: pb.Event 1513 (*Trace)(nil), // 16: pb.Trace 1514} 1515var file_quic_trace_proto_depIdxs = []int32{ 1516 7, // 0: pb.AckInfo.acked_packets:type_name -> pb.AckBlock 1517 1, // 1: pb.CloseInfo.close_type:type_name -> pb.CloseType 1518 0, // 2: pb.Frame.frame_type:type_name -> pb.FrameType 1519 5, // 3: pb.Frame.stream_frame_info:type_name -> pb.StreamFrameInfo 1520 8, // 4: pb.Frame.ack_info:type_name -> pb.AckInfo 1521 9, // 5: pb.Frame.reset_stream_info:type_name -> pb.ResetStreamInfo 1522 10, // 6: pb.Frame.close_info:type_name -> pb.CloseInfo 1523 11, // 7: pb.Frame.flow_control_info:type_name -> pb.FlowControlInfo 1524 6, // 8: pb.Frame.crypto_frame_info:type_name -> pb.CryptoFrameInfo 1525 3, // 9: pb.Event.event_type:type_name -> pb.EventType 1526 12, // 10: pb.Event.frames:type_name -> pb.Frame 1527 2, // 11: pb.Event.encryption_level:type_name -> pb.EncryptionLevel 1528 13, // 12: pb.Event.transport_state:type_name -> pb.TransportState 1529 14, // 13: pb.Event.external_network_parameters:type_name -> pb.ExternalNetworkParameters 1530 4, // 14: pb.Event.transmission_reason:type_name -> pb.TransmissionReason 1531 15, // 15: pb.Trace.events:type_name -> pb.Event 1532 16, // [16:16] is the sub-list for method output_type 1533 16, // [16:16] is the sub-list for method input_type 1534 16, // [16:16] is the sub-list for extension type_name 1535 16, // [16:16] is the sub-list for extension extendee 1536 0, // [0:16] is the sub-list for field type_name 1537} 1538 1539func init() { file_quic_trace_proto_init() } 1540func file_quic_trace_proto_init() { 1541 if File_quic_trace_proto != nil { 1542 return 1543 } 1544 if !protoimpl.UnsafeEnabled { 1545 file_quic_trace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1546 switch v := v.(*StreamFrameInfo); i { 1547 case 0: 1548 return &v.state 1549 case 1: 1550 return &v.sizeCache 1551 case 2: 1552 return &v.unknownFields 1553 default: 1554 return nil 1555 } 1556 } 1557 file_quic_trace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1558 switch v := v.(*CryptoFrameInfo); i { 1559 case 0: 1560 return &v.state 1561 case 1: 1562 return &v.sizeCache 1563 case 2: 1564 return &v.unknownFields 1565 default: 1566 return nil 1567 } 1568 } 1569 file_quic_trace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1570 switch v := v.(*AckBlock); i { 1571 case 0: 1572 return &v.state 1573 case 1: 1574 return &v.sizeCache 1575 case 2: 1576 return &v.unknownFields 1577 default: 1578 return nil 1579 } 1580 } 1581 file_quic_trace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1582 switch v := v.(*AckInfo); i { 1583 case 0: 1584 return &v.state 1585 case 1: 1586 return &v.sizeCache 1587 case 2: 1588 return &v.unknownFields 1589 default: 1590 return nil 1591 } 1592 } 1593 file_quic_trace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1594 switch v := v.(*ResetStreamInfo); i { 1595 case 0: 1596 return &v.state 1597 case 1: 1598 return &v.sizeCache 1599 case 2: 1600 return &v.unknownFields 1601 default: 1602 return nil 1603 } 1604 } 1605 file_quic_trace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1606 switch v := v.(*CloseInfo); i { 1607 case 0: 1608 return &v.state 1609 case 1: 1610 return &v.sizeCache 1611 case 2: 1612 return &v.unknownFields 1613 default: 1614 return nil 1615 } 1616 } 1617 file_quic_trace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1618 switch v := v.(*FlowControlInfo); i { 1619 case 0: 1620 return &v.state 1621 case 1: 1622 return &v.sizeCache 1623 case 2: 1624 return &v.unknownFields 1625 default: 1626 return nil 1627 } 1628 } 1629 file_quic_trace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1630 switch v := v.(*Frame); i { 1631 case 0: 1632 return &v.state 1633 case 1: 1634 return &v.sizeCache 1635 case 2: 1636 return &v.unknownFields 1637 default: 1638 return nil 1639 } 1640 } 1641 file_quic_trace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1642 switch v := v.(*TransportState); i { 1643 case 0: 1644 return &v.state 1645 case 1: 1646 return &v.sizeCache 1647 case 2: 1648 return &v.unknownFields 1649 default: 1650 return nil 1651 } 1652 } 1653 file_quic_trace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1654 switch v := v.(*ExternalNetworkParameters); i { 1655 case 0: 1656 return &v.state 1657 case 1: 1658 return &v.sizeCache 1659 case 2: 1660 return &v.unknownFields 1661 default: 1662 return nil 1663 } 1664 } 1665 file_quic_trace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1666 switch v := v.(*Event); i { 1667 case 0: 1668 return &v.state 1669 case 1: 1670 return &v.sizeCache 1671 case 2: 1672 return &v.unknownFields 1673 default: 1674 return nil 1675 } 1676 } 1677 file_quic_trace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1678 switch v := v.(*Trace); i { 1679 case 0: 1680 return &v.state 1681 case 1: 1682 return &v.sizeCache 1683 case 2: 1684 return &v.unknownFields 1685 default: 1686 return nil 1687 } 1688 } 1689 } 1690 type x struct{} 1691 out := protoimpl.TypeBuilder{ 1692 File: protoimpl.DescBuilder{ 1693 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1694 RawDescriptor: file_quic_trace_proto_rawDesc, 1695 NumEnums: 5, 1696 NumMessages: 12, 1697 NumExtensions: 0, 1698 NumServices: 0, 1699 }, 1700 GoTypes: file_quic_trace_proto_goTypes, 1701 DependencyIndexes: file_quic_trace_proto_depIdxs, 1702 EnumInfos: file_quic_trace_proto_enumTypes, 1703 MessageInfos: file_quic_trace_proto_msgTypes, 1704 }.Build() 1705 File_quic_trace_proto = out.File 1706 file_quic_trace_proto_rawDesc = nil 1707 file_quic_trace_proto_goTypes = nil 1708 file_quic_trace_proto_depIdxs = nil 1709} 1710