github.com/onosproject/onos-api/go@v0.10.32/onos/fabricsim/links.pb.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: onos/fabricsim/links.proto 3 4 package fabricsim 5 6 import ( 7 context "context" 8 fmt "fmt" 9 _ "github.com/gogo/protobuf/gogoproto" 10 proto "github.com/gogo/protobuf/proto" 11 grpc "google.golang.org/grpc" 12 codes "google.golang.org/grpc/codes" 13 status "google.golang.org/grpc/status" 14 io "io" 15 math "math" 16 math_bits "math/bits" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var _ = proto.Marshal 21 var _ = fmt.Errorf 22 var _ = math.Inf 23 24 // This is a compile-time assertion to ensure that this generated file 25 // is compatible with the proto package it is being compiled against. 26 // A compilation error at this line likely means your copy of the 27 // proto package needs to be updated. 28 const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package 29 30 // LinkStatus represents the operational status of the link, derived from the status of its adjacent ports 31 type LinkStatus int32 32 33 const ( 34 LinkStatus_LINK_DOWN LinkStatus = 0 35 LinkStatus_LINK_UP LinkStatus = 1 36 ) 37 38 var LinkStatus_name = map[int32]string{ 39 0: "LINK_DOWN", 40 1: "LINK_UP", 41 } 42 43 var LinkStatus_value = map[string]int32{ 44 "LINK_DOWN": 0, 45 "LINK_UP": 1, 46 } 47 48 func (x LinkStatus) String() string { 49 return proto.EnumName(LinkStatus_name, int32(x)) 50 } 51 52 func (LinkStatus) EnumDescriptor() ([]byte, []int) { 53 return fileDescriptor_fc16fca2ba28ce9e, []int{0} 54 } 55 56 // Link describes a simulated link, i.e a link between two device or host ports 57 type Link struct { 58 // unique port id and port type 59 ID LinkID `protobuf:"bytes,1,opt,name=id,proto3,casttype=LinkID" json:"id,omitempty"` 60 // unique port ids of source and target ports 61 SrcID PortID `protobuf:"bytes,2,opt,name=src_id,json=srcId,proto3,casttype=PortID" json:"src_id,omitempty"` 62 TgtID PortID `protobuf:"bytes,3,opt,name=tgt_id,json=tgtId,proto3,casttype=PortID" json:"tgt_id,omitempty"` 63 // status (operational state derived from the status of its adjacent ports) 64 Status LinkStatus `protobuf:"varint,4,opt,name=status,proto3,enum=onos.fabricsim.LinkStatus" json:"status,omitempty"` 65 } 66 67 func (m *Link) Reset() { *m = Link{} } 68 func (m *Link) String() string { return proto.CompactTextString(m) } 69 func (*Link) ProtoMessage() {} 70 func (*Link) Descriptor() ([]byte, []int) { 71 return fileDescriptor_fc16fca2ba28ce9e, []int{0} 72 } 73 func (m *Link) XXX_Unmarshal(b []byte) error { 74 return m.Unmarshal(b) 75 } 76 func (m *Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 77 if deterministic { 78 return xxx_messageInfo_Link.Marshal(b, m, deterministic) 79 } else { 80 b = b[:cap(b)] 81 n, err := m.MarshalToSizedBuffer(b) 82 if err != nil { 83 return nil, err 84 } 85 return b[:n], nil 86 } 87 } 88 func (m *Link) XXX_Merge(src proto.Message) { 89 xxx_messageInfo_Link.Merge(m, src) 90 } 91 func (m *Link) XXX_Size() int { 92 return m.Size() 93 } 94 func (m *Link) XXX_DiscardUnknown() { 95 xxx_messageInfo_Link.DiscardUnknown(m) 96 } 97 98 var xxx_messageInfo_Link proto.InternalMessageInfo 99 100 func (m *Link) GetID() LinkID { 101 if m != nil { 102 return m.ID 103 } 104 return "" 105 } 106 107 func (m *Link) GetSrcID() PortID { 108 if m != nil { 109 return m.SrcID 110 } 111 return "" 112 } 113 114 func (m *Link) GetTgtID() PortID { 115 if m != nil { 116 return m.TgtID 117 } 118 return "" 119 } 120 121 func (m *Link) GetStatus() LinkStatus { 122 if m != nil { 123 return m.Status 124 } 125 return LinkStatus_LINK_DOWN 126 } 127 128 type GetLinksRequest struct { 129 } 130 131 func (m *GetLinksRequest) Reset() { *m = GetLinksRequest{} } 132 func (m *GetLinksRequest) String() string { return proto.CompactTextString(m) } 133 func (*GetLinksRequest) ProtoMessage() {} 134 func (*GetLinksRequest) Descriptor() ([]byte, []int) { 135 return fileDescriptor_fc16fca2ba28ce9e, []int{1} 136 } 137 func (m *GetLinksRequest) XXX_Unmarshal(b []byte) error { 138 return m.Unmarshal(b) 139 } 140 func (m *GetLinksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 141 if deterministic { 142 return xxx_messageInfo_GetLinksRequest.Marshal(b, m, deterministic) 143 } else { 144 b = b[:cap(b)] 145 n, err := m.MarshalToSizedBuffer(b) 146 if err != nil { 147 return nil, err 148 } 149 return b[:n], nil 150 } 151 } 152 func (m *GetLinksRequest) XXX_Merge(src proto.Message) { 153 xxx_messageInfo_GetLinksRequest.Merge(m, src) 154 } 155 func (m *GetLinksRequest) XXX_Size() int { 156 return m.Size() 157 } 158 func (m *GetLinksRequest) XXX_DiscardUnknown() { 159 xxx_messageInfo_GetLinksRequest.DiscardUnknown(m) 160 } 161 162 var xxx_messageInfo_GetLinksRequest proto.InternalMessageInfo 163 164 type GetLinksResponse struct { 165 Links []*Link `protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"` 166 } 167 168 func (m *GetLinksResponse) Reset() { *m = GetLinksResponse{} } 169 func (m *GetLinksResponse) String() string { return proto.CompactTextString(m) } 170 func (*GetLinksResponse) ProtoMessage() {} 171 func (*GetLinksResponse) Descriptor() ([]byte, []int) { 172 return fileDescriptor_fc16fca2ba28ce9e, []int{2} 173 } 174 func (m *GetLinksResponse) XXX_Unmarshal(b []byte) error { 175 return m.Unmarshal(b) 176 } 177 func (m *GetLinksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 178 if deterministic { 179 return xxx_messageInfo_GetLinksResponse.Marshal(b, m, deterministic) 180 } else { 181 b = b[:cap(b)] 182 n, err := m.MarshalToSizedBuffer(b) 183 if err != nil { 184 return nil, err 185 } 186 return b[:n], nil 187 } 188 } 189 func (m *GetLinksResponse) XXX_Merge(src proto.Message) { 190 xxx_messageInfo_GetLinksResponse.Merge(m, src) 191 } 192 func (m *GetLinksResponse) XXX_Size() int { 193 return m.Size() 194 } 195 func (m *GetLinksResponse) XXX_DiscardUnknown() { 196 xxx_messageInfo_GetLinksResponse.DiscardUnknown(m) 197 } 198 199 var xxx_messageInfo_GetLinksResponse proto.InternalMessageInfo 200 201 func (m *GetLinksResponse) GetLinks() []*Link { 202 if m != nil { 203 return m.Links 204 } 205 return nil 206 } 207 208 type GetLinkRequest struct { 209 ID LinkID `protobuf:"bytes,1,opt,name=id,proto3,casttype=LinkID" json:"id,omitempty"` 210 } 211 212 func (m *GetLinkRequest) Reset() { *m = GetLinkRequest{} } 213 func (m *GetLinkRequest) String() string { return proto.CompactTextString(m) } 214 func (*GetLinkRequest) ProtoMessage() {} 215 func (*GetLinkRequest) Descriptor() ([]byte, []int) { 216 return fileDescriptor_fc16fca2ba28ce9e, []int{3} 217 } 218 func (m *GetLinkRequest) XXX_Unmarshal(b []byte) error { 219 return m.Unmarshal(b) 220 } 221 func (m *GetLinkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 222 if deterministic { 223 return xxx_messageInfo_GetLinkRequest.Marshal(b, m, deterministic) 224 } else { 225 b = b[:cap(b)] 226 n, err := m.MarshalToSizedBuffer(b) 227 if err != nil { 228 return nil, err 229 } 230 return b[:n], nil 231 } 232 } 233 func (m *GetLinkRequest) XXX_Merge(src proto.Message) { 234 xxx_messageInfo_GetLinkRequest.Merge(m, src) 235 } 236 func (m *GetLinkRequest) XXX_Size() int { 237 return m.Size() 238 } 239 func (m *GetLinkRequest) XXX_DiscardUnknown() { 240 xxx_messageInfo_GetLinkRequest.DiscardUnknown(m) 241 } 242 243 var xxx_messageInfo_GetLinkRequest proto.InternalMessageInfo 244 245 func (m *GetLinkRequest) GetID() LinkID { 246 if m != nil { 247 return m.ID 248 } 249 return "" 250 } 251 252 type GetLinkResponse struct { 253 Link *Link `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"` 254 } 255 256 func (m *GetLinkResponse) Reset() { *m = GetLinkResponse{} } 257 func (m *GetLinkResponse) String() string { return proto.CompactTextString(m) } 258 func (*GetLinkResponse) ProtoMessage() {} 259 func (*GetLinkResponse) Descriptor() ([]byte, []int) { 260 return fileDescriptor_fc16fca2ba28ce9e, []int{4} 261 } 262 func (m *GetLinkResponse) XXX_Unmarshal(b []byte) error { 263 return m.Unmarshal(b) 264 } 265 func (m *GetLinkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 266 if deterministic { 267 return xxx_messageInfo_GetLinkResponse.Marshal(b, m, deterministic) 268 } else { 269 b = b[:cap(b)] 270 n, err := m.MarshalToSizedBuffer(b) 271 if err != nil { 272 return nil, err 273 } 274 return b[:n], nil 275 } 276 } 277 func (m *GetLinkResponse) XXX_Merge(src proto.Message) { 278 xxx_messageInfo_GetLinkResponse.Merge(m, src) 279 } 280 func (m *GetLinkResponse) XXX_Size() int { 281 return m.Size() 282 } 283 func (m *GetLinkResponse) XXX_DiscardUnknown() { 284 xxx_messageInfo_GetLinkResponse.DiscardUnknown(m) 285 } 286 287 var xxx_messageInfo_GetLinkResponse proto.InternalMessageInfo 288 289 func (m *GetLinkResponse) GetLink() *Link { 290 if m != nil { 291 return m.Link 292 } 293 return nil 294 } 295 296 type AddLinkRequest struct { 297 Link *Link `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"` 298 } 299 300 func (m *AddLinkRequest) Reset() { *m = AddLinkRequest{} } 301 func (m *AddLinkRequest) String() string { return proto.CompactTextString(m) } 302 func (*AddLinkRequest) ProtoMessage() {} 303 func (*AddLinkRequest) Descriptor() ([]byte, []int) { 304 return fileDescriptor_fc16fca2ba28ce9e, []int{5} 305 } 306 func (m *AddLinkRequest) XXX_Unmarshal(b []byte) error { 307 return m.Unmarshal(b) 308 } 309 func (m *AddLinkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 310 if deterministic { 311 return xxx_messageInfo_AddLinkRequest.Marshal(b, m, deterministic) 312 } else { 313 b = b[:cap(b)] 314 n, err := m.MarshalToSizedBuffer(b) 315 if err != nil { 316 return nil, err 317 } 318 return b[:n], nil 319 } 320 } 321 func (m *AddLinkRequest) XXX_Merge(src proto.Message) { 322 xxx_messageInfo_AddLinkRequest.Merge(m, src) 323 } 324 func (m *AddLinkRequest) XXX_Size() int { 325 return m.Size() 326 } 327 func (m *AddLinkRequest) XXX_DiscardUnknown() { 328 xxx_messageInfo_AddLinkRequest.DiscardUnknown(m) 329 } 330 331 var xxx_messageInfo_AddLinkRequest proto.InternalMessageInfo 332 333 func (m *AddLinkRequest) GetLink() *Link { 334 if m != nil { 335 return m.Link 336 } 337 return nil 338 } 339 340 type AddLinkResponse struct { 341 } 342 343 func (m *AddLinkResponse) Reset() { *m = AddLinkResponse{} } 344 func (m *AddLinkResponse) String() string { return proto.CompactTextString(m) } 345 func (*AddLinkResponse) ProtoMessage() {} 346 func (*AddLinkResponse) Descriptor() ([]byte, []int) { 347 return fileDescriptor_fc16fca2ba28ce9e, []int{6} 348 } 349 func (m *AddLinkResponse) XXX_Unmarshal(b []byte) error { 350 return m.Unmarshal(b) 351 } 352 func (m *AddLinkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 353 if deterministic { 354 return xxx_messageInfo_AddLinkResponse.Marshal(b, m, deterministic) 355 } else { 356 b = b[:cap(b)] 357 n, err := m.MarshalToSizedBuffer(b) 358 if err != nil { 359 return nil, err 360 } 361 return b[:n], nil 362 } 363 } 364 func (m *AddLinkResponse) XXX_Merge(src proto.Message) { 365 xxx_messageInfo_AddLinkResponse.Merge(m, src) 366 } 367 func (m *AddLinkResponse) XXX_Size() int { 368 return m.Size() 369 } 370 func (m *AddLinkResponse) XXX_DiscardUnknown() { 371 xxx_messageInfo_AddLinkResponse.DiscardUnknown(m) 372 } 373 374 var xxx_messageInfo_AddLinkResponse proto.InternalMessageInfo 375 376 type RemoveLinkRequest struct { 377 ID LinkID `protobuf:"bytes,1,opt,name=id,proto3,casttype=LinkID" json:"id,omitempty"` 378 } 379 380 func (m *RemoveLinkRequest) Reset() { *m = RemoveLinkRequest{} } 381 func (m *RemoveLinkRequest) String() string { return proto.CompactTextString(m) } 382 func (*RemoveLinkRequest) ProtoMessage() {} 383 func (*RemoveLinkRequest) Descriptor() ([]byte, []int) { 384 return fileDescriptor_fc16fca2ba28ce9e, []int{7} 385 } 386 func (m *RemoveLinkRequest) XXX_Unmarshal(b []byte) error { 387 return m.Unmarshal(b) 388 } 389 func (m *RemoveLinkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 390 if deterministic { 391 return xxx_messageInfo_RemoveLinkRequest.Marshal(b, m, deterministic) 392 } else { 393 b = b[:cap(b)] 394 n, err := m.MarshalToSizedBuffer(b) 395 if err != nil { 396 return nil, err 397 } 398 return b[:n], nil 399 } 400 } 401 func (m *RemoveLinkRequest) XXX_Merge(src proto.Message) { 402 xxx_messageInfo_RemoveLinkRequest.Merge(m, src) 403 } 404 func (m *RemoveLinkRequest) XXX_Size() int { 405 return m.Size() 406 } 407 func (m *RemoveLinkRequest) XXX_DiscardUnknown() { 408 xxx_messageInfo_RemoveLinkRequest.DiscardUnknown(m) 409 } 410 411 var xxx_messageInfo_RemoveLinkRequest proto.InternalMessageInfo 412 413 func (m *RemoveLinkRequest) GetID() LinkID { 414 if m != nil { 415 return m.ID 416 } 417 return "" 418 } 419 420 type RemoveLinkResponse struct { 421 } 422 423 func (m *RemoveLinkResponse) Reset() { *m = RemoveLinkResponse{} } 424 func (m *RemoveLinkResponse) String() string { return proto.CompactTextString(m) } 425 func (*RemoveLinkResponse) ProtoMessage() {} 426 func (*RemoveLinkResponse) Descriptor() ([]byte, []int) { 427 return fileDescriptor_fc16fca2ba28ce9e, []int{8} 428 } 429 func (m *RemoveLinkResponse) XXX_Unmarshal(b []byte) error { 430 return m.Unmarshal(b) 431 } 432 func (m *RemoveLinkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 433 if deterministic { 434 return xxx_messageInfo_RemoveLinkResponse.Marshal(b, m, deterministic) 435 } else { 436 b = b[:cap(b)] 437 n, err := m.MarshalToSizedBuffer(b) 438 if err != nil { 439 return nil, err 440 } 441 return b[:n], nil 442 } 443 } 444 func (m *RemoveLinkResponse) XXX_Merge(src proto.Message) { 445 xxx_messageInfo_RemoveLinkResponse.Merge(m, src) 446 } 447 func (m *RemoveLinkResponse) XXX_Size() int { 448 return m.Size() 449 } 450 func (m *RemoveLinkResponse) XXX_DiscardUnknown() { 451 xxx_messageInfo_RemoveLinkResponse.DiscardUnknown(m) 452 } 453 454 var xxx_messageInfo_RemoveLinkResponse proto.InternalMessageInfo 455 456 func init() { 457 proto.RegisterEnum("onos.fabricsim.LinkStatus", LinkStatus_name, LinkStatus_value) 458 proto.RegisterType((*Link)(nil), "onos.fabricsim.Link") 459 proto.RegisterType((*GetLinksRequest)(nil), "onos.fabricsim.GetLinksRequest") 460 proto.RegisterType((*GetLinksResponse)(nil), "onos.fabricsim.GetLinksResponse") 461 proto.RegisterType((*GetLinkRequest)(nil), "onos.fabricsim.GetLinkRequest") 462 proto.RegisterType((*GetLinkResponse)(nil), "onos.fabricsim.GetLinkResponse") 463 proto.RegisterType((*AddLinkRequest)(nil), "onos.fabricsim.AddLinkRequest") 464 proto.RegisterType((*AddLinkResponse)(nil), "onos.fabricsim.AddLinkResponse") 465 proto.RegisterType((*RemoveLinkRequest)(nil), "onos.fabricsim.RemoveLinkRequest") 466 proto.RegisterType((*RemoveLinkResponse)(nil), "onos.fabricsim.RemoveLinkResponse") 467 } 468 469 func init() { proto.RegisterFile("onos/fabricsim/links.proto", fileDescriptor_fc16fca2ba28ce9e) } 470 471 var fileDescriptor_fc16fca2ba28ce9e = []byte{ 472 // 449 bytes of a gzipped FileDescriptorProto 473 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6e, 0xd3, 0x40, 474 0x10, 0xc6, 0xb3, 0x6e, 0x92, 0xd2, 0x89, 0x48, 0x93, 0x25, 0x07, 0xcb, 0x07, 0xdb, 0xec, 0xc9, 475 0xca, 0xc1, 0x91, 0x8c, 0xb8, 0x80, 0x84, 0x44, 0x65, 0x09, 0x19, 0x4a, 0xa9, 0x1c, 0x10, 0xc7, 476 0xaa, 0xb5, 0x17, 0x6b, 0x55, 0xea, 0x2d, 0xde, 0x6d, 0x9f, 0x83, 0x87, 0xe1, 0x21, 0xe0, 0xd6, 477 0x23, 0xa7, 0x08, 0x39, 0x6f, 0xc1, 0x09, 0x79, 0xed, 0xda, 0x8d, 0x83, 0xf9, 0x73, 0xb3, 0xf7, 478 0xfb, 0xcd, 0x37, 0xb3, 0xdf, 0x68, 0xc1, 0xe0, 0x29, 0x17, 0x8b, 0x0f, 0xa7, 0x67, 0x19, 0x8b, 479 0x04, 0xbb, 0x58, 0x7c, 0x64, 0xe9, 0xb9, 0x70, 0x2f, 0x33, 0x2e, 0x39, 0x1e, 0x17, 0x9a, 0x5b, 480 0x6b, 0xc6, 0x2c, 0xe1, 0x09, 0x57, 0xd2, 0xa2, 0xf8, 0x2a, 0x29, 0xf2, 0x05, 0x41, 0xff, 0x90, 481 0xa5, 0xe7, 0xd8, 0x06, 0x8d, 0xc5, 0x3a, 0xb2, 0x91, 0xb3, 0x77, 0x30, 0xc9, 0x57, 0x96, 0x16, 482 0xf8, 0x3f, 0x57, 0xd6, 0xb0, 0xd0, 0x02, 0x3f, 0xd4, 0x58, 0x8c, 0xe7, 0x30, 0x14, 0x59, 0x74, 483 0xc2, 0x62, 0x5d, 0x53, 0xd4, 0x83, 0x7c, 0x65, 0x0d, 0x96, 0x59, 0x54, 0x82, 0xc7, 0x3c, 0x93, 484 0x81, 0x1f, 0x0e, 0x44, 0x16, 0x05, 0x8a, 0x95, 0x89, 0x2c, 0xd8, 0x9d, 0x86, 0x7d, 0x9b, 0xc8, 485 0x4d, 0x56, 0x26, 0x32, 0x88, 0xb1, 0x07, 0x43, 0x21, 0x4f, 0xe5, 0x95, 0xd0, 0xfb, 0x36, 0x72, 486 0xc6, 0x9e, 0xe1, 0x6e, 0x4e, 0xee, 0x16, 0x33, 0x2c, 0x15, 0x11, 0x56, 0x24, 0x99, 0xc2, 0xfe, 487 0x0b, 0x2a, 0x0b, 0x41, 0x84, 0xf4, 0xd3, 0x15, 0x15, 0x92, 0x3c, 0x83, 0x49, 0x73, 0x24, 0x2e, 488 0x79, 0x2a, 0x28, 0x9e, 0xc3, 0x40, 0x45, 0xa2, 0x23, 0x7b, 0xc7, 0x19, 0x79, 0xb3, 0xdf, 0x39, 489 0x87, 0x25, 0x42, 0x3c, 0x18, 0x57, 0xf5, 0x95, 0xe3, 0xdf, 0x23, 0x21, 0x4f, 0xeb, 0x31, 0xea, 490 0x96, 0x0e, 0xf4, 0x0b, 0x3f, 0x55, 0xd6, 0xd5, 0x51, 0x11, 0xe4, 0x09, 0x8c, 0x9f, 0xc7, 0xf1, 491 0xdd, 0x86, 0xff, 0x5e, 0x3b, 0x85, 0xfd, 0xba, 0xb6, 0x6c, 0x4c, 0x1e, 0xc3, 0x34, 0xa4, 0x17, 492 0xfc, 0x9a, 0xfe, 0xdf, 0x15, 0x66, 0x80, 0xef, 0x96, 0x95, 0x66, 0x73, 0x07, 0xa0, 0x49, 0x1d, 493 0xdf, 0x87, 0xbd, 0xc3, 0xe0, 0xe8, 0xd5, 0x89, 0xff, 0xe6, 0xfd, 0xd1, 0xa4, 0x87, 0x47, 0xb0, 494 0xab, 0x7e, 0xdf, 0x1d, 0x4f, 0x90, 0xf7, 0x4d, 0x83, 0x91, 0x42, 0x69, 0x76, 0xcd, 0x22, 0x8a, 495 0x5f, 0xc3, 0xbd, 0xdb, 0x35, 0x60, 0xab, 0x7d, 0x83, 0xd6, 0xce, 0x0c, 0xbb, 0x1b, 0xa8, 0xe2, 496 0x7c, 0x09, 0xbb, 0xd5, 0x19, 0x36, 0x3b, 0xe0, 0x5b, 0x33, 0xab, 0x53, 0x6f, 0xbc, 0xaa, 0xd0, 497 0xb6, 0xbd, 0x36, 0x37, 0xb1, 0xed, 0xd5, 0x4a, 0x1b, 0x2f, 0x01, 0x9a, 0xd8, 0xf0, 0xc3, 0x36, 498 0xbe, 0xb5, 0x09, 0x83, 0xfc, 0x09, 0x29, 0x4d, 0x0f, 0xf4, 0xaf, 0xb9, 0x89, 0x6e, 0x72, 0x13, 499 0xfd, 0xc8, 0x4d, 0xf4, 0x79, 0x6d, 0xf6, 0x6e, 0xd6, 0x66, 0xef, 0xfb, 0xda, 0xec, 0x9d, 0x0d, 500 0xd5, 0x6b, 0x7d, 0xf4, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xde, 0xa6, 0x48, 0xf1, 0x03, 0x00, 501 0x00, 502 } 503 504 // Reference imports to suppress errors if they are not otherwise used. 505 var _ context.Context 506 var _ grpc.ClientConn 507 508 // This is a compile-time assertion to ensure that this generated file 509 // is compatible with the grpc package it is being compiled against. 510 const _ = grpc.SupportPackageIsVersion4 511 512 // LinkServiceClient is the client API for LinkService service. 513 // 514 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 515 type LinkServiceClient interface { 516 // GetLinks gets a list of all simulated links 517 GetLinks(ctx context.Context, in *GetLinksRequest, opts ...grpc.CallOption) (*GetLinksResponse, error) 518 // GetLink gets a specific link entry 519 GetLink(ctx context.Context, in *GetLinkRequest, opts ...grpc.CallOption) (*GetLinkResponse, error) 520 // AddLink adds a new simulated link 521 AddLink(ctx context.Context, in *AddLinkRequest, opts ...grpc.CallOption) (*AddLinkResponse, error) 522 // RemoveLink removes a simulated link 523 RemoveLink(ctx context.Context, in *RemoveLinkRequest, opts ...grpc.CallOption) (*RemoveLinkResponse, error) 524 } 525 526 type linkServiceClient struct { 527 cc *grpc.ClientConn 528 } 529 530 func NewLinkServiceClient(cc *grpc.ClientConn) LinkServiceClient { 531 return &linkServiceClient{cc} 532 } 533 534 func (c *linkServiceClient) GetLinks(ctx context.Context, in *GetLinksRequest, opts ...grpc.CallOption) (*GetLinksResponse, error) { 535 out := new(GetLinksResponse) 536 err := c.cc.Invoke(ctx, "/onos.fabricsim.LinkService/GetLinks", in, out, opts...) 537 if err != nil { 538 return nil, err 539 } 540 return out, nil 541 } 542 543 func (c *linkServiceClient) GetLink(ctx context.Context, in *GetLinkRequest, opts ...grpc.CallOption) (*GetLinkResponse, error) { 544 out := new(GetLinkResponse) 545 err := c.cc.Invoke(ctx, "/onos.fabricsim.LinkService/GetLink", in, out, opts...) 546 if err != nil { 547 return nil, err 548 } 549 return out, nil 550 } 551 552 func (c *linkServiceClient) AddLink(ctx context.Context, in *AddLinkRequest, opts ...grpc.CallOption) (*AddLinkResponse, error) { 553 out := new(AddLinkResponse) 554 err := c.cc.Invoke(ctx, "/onos.fabricsim.LinkService/AddLink", in, out, opts...) 555 if err != nil { 556 return nil, err 557 } 558 return out, nil 559 } 560 561 func (c *linkServiceClient) RemoveLink(ctx context.Context, in *RemoveLinkRequest, opts ...grpc.CallOption) (*RemoveLinkResponse, error) { 562 out := new(RemoveLinkResponse) 563 err := c.cc.Invoke(ctx, "/onos.fabricsim.LinkService/RemoveLink", in, out, opts...) 564 if err != nil { 565 return nil, err 566 } 567 return out, nil 568 } 569 570 // LinkServiceServer is the server API for LinkService service. 571 type LinkServiceServer interface { 572 // GetLinks gets a list of all simulated links 573 GetLinks(context.Context, *GetLinksRequest) (*GetLinksResponse, error) 574 // GetLink gets a specific link entry 575 GetLink(context.Context, *GetLinkRequest) (*GetLinkResponse, error) 576 // AddLink adds a new simulated link 577 AddLink(context.Context, *AddLinkRequest) (*AddLinkResponse, error) 578 // RemoveLink removes a simulated link 579 RemoveLink(context.Context, *RemoveLinkRequest) (*RemoveLinkResponse, error) 580 } 581 582 // UnimplementedLinkServiceServer can be embedded to have forward compatible implementations. 583 type UnimplementedLinkServiceServer struct { 584 } 585 586 func (*UnimplementedLinkServiceServer) GetLinks(ctx context.Context, req *GetLinksRequest) (*GetLinksResponse, error) { 587 return nil, status.Errorf(codes.Unimplemented, "method GetLinks not implemented") 588 } 589 func (*UnimplementedLinkServiceServer) GetLink(ctx context.Context, req *GetLinkRequest) (*GetLinkResponse, error) { 590 return nil, status.Errorf(codes.Unimplemented, "method GetLink not implemented") 591 } 592 func (*UnimplementedLinkServiceServer) AddLink(ctx context.Context, req *AddLinkRequest) (*AddLinkResponse, error) { 593 return nil, status.Errorf(codes.Unimplemented, "method AddLink not implemented") 594 } 595 func (*UnimplementedLinkServiceServer) RemoveLink(ctx context.Context, req *RemoveLinkRequest) (*RemoveLinkResponse, error) { 596 return nil, status.Errorf(codes.Unimplemented, "method RemoveLink not implemented") 597 } 598 599 func RegisterLinkServiceServer(s *grpc.Server, srv LinkServiceServer) { 600 s.RegisterService(&_LinkService_serviceDesc, srv) 601 } 602 603 func _LinkService_GetLinks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 604 in := new(GetLinksRequest) 605 if err := dec(in); err != nil { 606 return nil, err 607 } 608 if interceptor == nil { 609 return srv.(LinkServiceServer).GetLinks(ctx, in) 610 } 611 info := &grpc.UnaryServerInfo{ 612 Server: srv, 613 FullMethod: "/onos.fabricsim.LinkService/GetLinks", 614 } 615 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 616 return srv.(LinkServiceServer).GetLinks(ctx, req.(*GetLinksRequest)) 617 } 618 return interceptor(ctx, in, info, handler) 619 } 620 621 func _LinkService_GetLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 622 in := new(GetLinkRequest) 623 if err := dec(in); err != nil { 624 return nil, err 625 } 626 if interceptor == nil { 627 return srv.(LinkServiceServer).GetLink(ctx, in) 628 } 629 info := &grpc.UnaryServerInfo{ 630 Server: srv, 631 FullMethod: "/onos.fabricsim.LinkService/GetLink", 632 } 633 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 634 return srv.(LinkServiceServer).GetLink(ctx, req.(*GetLinkRequest)) 635 } 636 return interceptor(ctx, in, info, handler) 637 } 638 639 func _LinkService_AddLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 640 in := new(AddLinkRequest) 641 if err := dec(in); err != nil { 642 return nil, err 643 } 644 if interceptor == nil { 645 return srv.(LinkServiceServer).AddLink(ctx, in) 646 } 647 info := &grpc.UnaryServerInfo{ 648 Server: srv, 649 FullMethod: "/onos.fabricsim.LinkService/AddLink", 650 } 651 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 652 return srv.(LinkServiceServer).AddLink(ctx, req.(*AddLinkRequest)) 653 } 654 return interceptor(ctx, in, info, handler) 655 } 656 657 func _LinkService_RemoveLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 658 in := new(RemoveLinkRequest) 659 if err := dec(in); err != nil { 660 return nil, err 661 } 662 if interceptor == nil { 663 return srv.(LinkServiceServer).RemoveLink(ctx, in) 664 } 665 info := &grpc.UnaryServerInfo{ 666 Server: srv, 667 FullMethod: "/onos.fabricsim.LinkService/RemoveLink", 668 } 669 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 670 return srv.(LinkServiceServer).RemoveLink(ctx, req.(*RemoveLinkRequest)) 671 } 672 return interceptor(ctx, in, info, handler) 673 } 674 675 var _LinkService_serviceDesc = grpc.ServiceDesc{ 676 ServiceName: "onos.fabricsim.LinkService", 677 HandlerType: (*LinkServiceServer)(nil), 678 Methods: []grpc.MethodDesc{ 679 { 680 MethodName: "GetLinks", 681 Handler: _LinkService_GetLinks_Handler, 682 }, 683 { 684 MethodName: "GetLink", 685 Handler: _LinkService_GetLink_Handler, 686 }, 687 { 688 MethodName: "AddLink", 689 Handler: _LinkService_AddLink_Handler, 690 }, 691 { 692 MethodName: "RemoveLink", 693 Handler: _LinkService_RemoveLink_Handler, 694 }, 695 }, 696 Streams: []grpc.StreamDesc{}, 697 Metadata: "onos/fabricsim/links.proto", 698 } 699 700 func (m *Link) Marshal() (dAtA []byte, err error) { 701 size := m.Size() 702 dAtA = make([]byte, size) 703 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 704 if err != nil { 705 return nil, err 706 } 707 return dAtA[:n], nil 708 } 709 710 func (m *Link) MarshalTo(dAtA []byte) (int, error) { 711 size := m.Size() 712 return m.MarshalToSizedBuffer(dAtA[:size]) 713 } 714 715 func (m *Link) MarshalToSizedBuffer(dAtA []byte) (int, error) { 716 i := len(dAtA) 717 _ = i 718 var l int 719 _ = l 720 if m.Status != 0 { 721 i = encodeVarintLinks(dAtA, i, uint64(m.Status)) 722 i-- 723 dAtA[i] = 0x20 724 } 725 if len(m.TgtID) > 0 { 726 i -= len(m.TgtID) 727 copy(dAtA[i:], m.TgtID) 728 i = encodeVarintLinks(dAtA, i, uint64(len(m.TgtID))) 729 i-- 730 dAtA[i] = 0x1a 731 } 732 if len(m.SrcID) > 0 { 733 i -= len(m.SrcID) 734 copy(dAtA[i:], m.SrcID) 735 i = encodeVarintLinks(dAtA, i, uint64(len(m.SrcID))) 736 i-- 737 dAtA[i] = 0x12 738 } 739 if len(m.ID) > 0 { 740 i -= len(m.ID) 741 copy(dAtA[i:], m.ID) 742 i = encodeVarintLinks(dAtA, i, uint64(len(m.ID))) 743 i-- 744 dAtA[i] = 0xa 745 } 746 return len(dAtA) - i, nil 747 } 748 749 func (m *GetLinksRequest) Marshal() (dAtA []byte, err error) { 750 size := m.Size() 751 dAtA = make([]byte, size) 752 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 753 if err != nil { 754 return nil, err 755 } 756 return dAtA[:n], nil 757 } 758 759 func (m *GetLinksRequest) MarshalTo(dAtA []byte) (int, error) { 760 size := m.Size() 761 return m.MarshalToSizedBuffer(dAtA[:size]) 762 } 763 764 func (m *GetLinksRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { 765 i := len(dAtA) 766 _ = i 767 var l int 768 _ = l 769 return len(dAtA) - i, nil 770 } 771 772 func (m *GetLinksResponse) Marshal() (dAtA []byte, err error) { 773 size := m.Size() 774 dAtA = make([]byte, size) 775 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 776 if err != nil { 777 return nil, err 778 } 779 return dAtA[:n], nil 780 } 781 782 func (m *GetLinksResponse) MarshalTo(dAtA []byte) (int, error) { 783 size := m.Size() 784 return m.MarshalToSizedBuffer(dAtA[:size]) 785 } 786 787 func (m *GetLinksResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 788 i := len(dAtA) 789 _ = i 790 var l int 791 _ = l 792 if len(m.Links) > 0 { 793 for iNdEx := len(m.Links) - 1; iNdEx >= 0; iNdEx-- { 794 { 795 size, err := m.Links[iNdEx].MarshalToSizedBuffer(dAtA[:i]) 796 if err != nil { 797 return 0, err 798 } 799 i -= size 800 i = encodeVarintLinks(dAtA, i, uint64(size)) 801 } 802 i-- 803 dAtA[i] = 0xa 804 } 805 } 806 return len(dAtA) - i, nil 807 } 808 809 func (m *GetLinkRequest) Marshal() (dAtA []byte, err error) { 810 size := m.Size() 811 dAtA = make([]byte, size) 812 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 813 if err != nil { 814 return nil, err 815 } 816 return dAtA[:n], nil 817 } 818 819 func (m *GetLinkRequest) MarshalTo(dAtA []byte) (int, error) { 820 size := m.Size() 821 return m.MarshalToSizedBuffer(dAtA[:size]) 822 } 823 824 func (m *GetLinkRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { 825 i := len(dAtA) 826 _ = i 827 var l int 828 _ = l 829 if len(m.ID) > 0 { 830 i -= len(m.ID) 831 copy(dAtA[i:], m.ID) 832 i = encodeVarintLinks(dAtA, i, uint64(len(m.ID))) 833 i-- 834 dAtA[i] = 0xa 835 } 836 return len(dAtA) - i, nil 837 } 838 839 func (m *GetLinkResponse) Marshal() (dAtA []byte, err error) { 840 size := m.Size() 841 dAtA = make([]byte, size) 842 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 843 if err != nil { 844 return nil, err 845 } 846 return dAtA[:n], nil 847 } 848 849 func (m *GetLinkResponse) MarshalTo(dAtA []byte) (int, error) { 850 size := m.Size() 851 return m.MarshalToSizedBuffer(dAtA[:size]) 852 } 853 854 func (m *GetLinkResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 855 i := len(dAtA) 856 _ = i 857 var l int 858 _ = l 859 if m.Link != nil { 860 { 861 size, err := m.Link.MarshalToSizedBuffer(dAtA[:i]) 862 if err != nil { 863 return 0, err 864 } 865 i -= size 866 i = encodeVarintLinks(dAtA, i, uint64(size)) 867 } 868 i-- 869 dAtA[i] = 0xa 870 } 871 return len(dAtA) - i, nil 872 } 873 874 func (m *AddLinkRequest) Marshal() (dAtA []byte, err error) { 875 size := m.Size() 876 dAtA = make([]byte, size) 877 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 878 if err != nil { 879 return nil, err 880 } 881 return dAtA[:n], nil 882 } 883 884 func (m *AddLinkRequest) MarshalTo(dAtA []byte) (int, error) { 885 size := m.Size() 886 return m.MarshalToSizedBuffer(dAtA[:size]) 887 } 888 889 func (m *AddLinkRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { 890 i := len(dAtA) 891 _ = i 892 var l int 893 _ = l 894 if m.Link != nil { 895 { 896 size, err := m.Link.MarshalToSizedBuffer(dAtA[:i]) 897 if err != nil { 898 return 0, err 899 } 900 i -= size 901 i = encodeVarintLinks(dAtA, i, uint64(size)) 902 } 903 i-- 904 dAtA[i] = 0xa 905 } 906 return len(dAtA) - i, nil 907 } 908 909 func (m *AddLinkResponse) Marshal() (dAtA []byte, err error) { 910 size := m.Size() 911 dAtA = make([]byte, size) 912 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 913 if err != nil { 914 return nil, err 915 } 916 return dAtA[:n], nil 917 } 918 919 func (m *AddLinkResponse) MarshalTo(dAtA []byte) (int, error) { 920 size := m.Size() 921 return m.MarshalToSizedBuffer(dAtA[:size]) 922 } 923 924 func (m *AddLinkResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 925 i := len(dAtA) 926 _ = i 927 var l int 928 _ = l 929 return len(dAtA) - i, nil 930 } 931 932 func (m *RemoveLinkRequest) Marshal() (dAtA []byte, err error) { 933 size := m.Size() 934 dAtA = make([]byte, size) 935 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 936 if err != nil { 937 return nil, err 938 } 939 return dAtA[:n], nil 940 } 941 942 func (m *RemoveLinkRequest) MarshalTo(dAtA []byte) (int, error) { 943 size := m.Size() 944 return m.MarshalToSizedBuffer(dAtA[:size]) 945 } 946 947 func (m *RemoveLinkRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { 948 i := len(dAtA) 949 _ = i 950 var l int 951 _ = l 952 if len(m.ID) > 0 { 953 i -= len(m.ID) 954 copy(dAtA[i:], m.ID) 955 i = encodeVarintLinks(dAtA, i, uint64(len(m.ID))) 956 i-- 957 dAtA[i] = 0xa 958 } 959 return len(dAtA) - i, nil 960 } 961 962 func (m *RemoveLinkResponse) Marshal() (dAtA []byte, err error) { 963 size := m.Size() 964 dAtA = make([]byte, size) 965 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 966 if err != nil { 967 return nil, err 968 } 969 return dAtA[:n], nil 970 } 971 972 func (m *RemoveLinkResponse) MarshalTo(dAtA []byte) (int, error) { 973 size := m.Size() 974 return m.MarshalToSizedBuffer(dAtA[:size]) 975 } 976 977 func (m *RemoveLinkResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 978 i := len(dAtA) 979 _ = i 980 var l int 981 _ = l 982 return len(dAtA) - i, nil 983 } 984 985 func encodeVarintLinks(dAtA []byte, offset int, v uint64) int { 986 offset -= sovLinks(v) 987 base := offset 988 for v >= 1<<7 { 989 dAtA[offset] = uint8(v&0x7f | 0x80) 990 v >>= 7 991 offset++ 992 } 993 dAtA[offset] = uint8(v) 994 return base 995 } 996 func (m *Link) Size() (n int) { 997 if m == nil { 998 return 0 999 } 1000 var l int 1001 _ = l 1002 l = len(m.ID) 1003 if l > 0 { 1004 n += 1 + l + sovLinks(uint64(l)) 1005 } 1006 l = len(m.SrcID) 1007 if l > 0 { 1008 n += 1 + l + sovLinks(uint64(l)) 1009 } 1010 l = len(m.TgtID) 1011 if l > 0 { 1012 n += 1 + l + sovLinks(uint64(l)) 1013 } 1014 if m.Status != 0 { 1015 n += 1 + sovLinks(uint64(m.Status)) 1016 } 1017 return n 1018 } 1019 1020 func (m *GetLinksRequest) Size() (n int) { 1021 if m == nil { 1022 return 0 1023 } 1024 var l int 1025 _ = l 1026 return n 1027 } 1028 1029 func (m *GetLinksResponse) Size() (n int) { 1030 if m == nil { 1031 return 0 1032 } 1033 var l int 1034 _ = l 1035 if len(m.Links) > 0 { 1036 for _, e := range m.Links { 1037 l = e.Size() 1038 n += 1 + l + sovLinks(uint64(l)) 1039 } 1040 } 1041 return n 1042 } 1043 1044 func (m *GetLinkRequest) Size() (n int) { 1045 if m == nil { 1046 return 0 1047 } 1048 var l int 1049 _ = l 1050 l = len(m.ID) 1051 if l > 0 { 1052 n += 1 + l + sovLinks(uint64(l)) 1053 } 1054 return n 1055 } 1056 1057 func (m *GetLinkResponse) Size() (n int) { 1058 if m == nil { 1059 return 0 1060 } 1061 var l int 1062 _ = l 1063 if m.Link != nil { 1064 l = m.Link.Size() 1065 n += 1 + l + sovLinks(uint64(l)) 1066 } 1067 return n 1068 } 1069 1070 func (m *AddLinkRequest) Size() (n int) { 1071 if m == nil { 1072 return 0 1073 } 1074 var l int 1075 _ = l 1076 if m.Link != nil { 1077 l = m.Link.Size() 1078 n += 1 + l + sovLinks(uint64(l)) 1079 } 1080 return n 1081 } 1082 1083 func (m *AddLinkResponse) Size() (n int) { 1084 if m == nil { 1085 return 0 1086 } 1087 var l int 1088 _ = l 1089 return n 1090 } 1091 1092 func (m *RemoveLinkRequest) Size() (n int) { 1093 if m == nil { 1094 return 0 1095 } 1096 var l int 1097 _ = l 1098 l = len(m.ID) 1099 if l > 0 { 1100 n += 1 + l + sovLinks(uint64(l)) 1101 } 1102 return n 1103 } 1104 1105 func (m *RemoveLinkResponse) Size() (n int) { 1106 if m == nil { 1107 return 0 1108 } 1109 var l int 1110 _ = l 1111 return n 1112 } 1113 1114 func sovLinks(x uint64) (n int) { 1115 return (math_bits.Len64(x|1) + 6) / 7 1116 } 1117 func sozLinks(x uint64) (n int) { 1118 return sovLinks(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 1119 } 1120 func (m *Link) Unmarshal(dAtA []byte) error { 1121 l := len(dAtA) 1122 iNdEx := 0 1123 for iNdEx < l { 1124 preIndex := iNdEx 1125 var wire uint64 1126 for shift := uint(0); ; shift += 7 { 1127 if shift >= 64 { 1128 return ErrIntOverflowLinks 1129 } 1130 if iNdEx >= l { 1131 return io.ErrUnexpectedEOF 1132 } 1133 b := dAtA[iNdEx] 1134 iNdEx++ 1135 wire |= uint64(b&0x7F) << shift 1136 if b < 0x80 { 1137 break 1138 } 1139 } 1140 fieldNum := int32(wire >> 3) 1141 wireType := int(wire & 0x7) 1142 if wireType == 4 { 1143 return fmt.Errorf("proto: Link: wiretype end group for non-group") 1144 } 1145 if fieldNum <= 0 { 1146 return fmt.Errorf("proto: Link: illegal tag %d (wire type %d)", fieldNum, wire) 1147 } 1148 switch fieldNum { 1149 case 1: 1150 if wireType != 2 { 1151 return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) 1152 } 1153 var stringLen uint64 1154 for shift := uint(0); ; shift += 7 { 1155 if shift >= 64 { 1156 return ErrIntOverflowLinks 1157 } 1158 if iNdEx >= l { 1159 return io.ErrUnexpectedEOF 1160 } 1161 b := dAtA[iNdEx] 1162 iNdEx++ 1163 stringLen |= uint64(b&0x7F) << shift 1164 if b < 0x80 { 1165 break 1166 } 1167 } 1168 intStringLen := int(stringLen) 1169 if intStringLen < 0 { 1170 return ErrInvalidLengthLinks 1171 } 1172 postIndex := iNdEx + intStringLen 1173 if postIndex < 0 { 1174 return ErrInvalidLengthLinks 1175 } 1176 if postIndex > l { 1177 return io.ErrUnexpectedEOF 1178 } 1179 m.ID = LinkID(dAtA[iNdEx:postIndex]) 1180 iNdEx = postIndex 1181 case 2: 1182 if wireType != 2 { 1183 return fmt.Errorf("proto: wrong wireType = %d for field SrcID", wireType) 1184 } 1185 var stringLen uint64 1186 for shift := uint(0); ; shift += 7 { 1187 if shift >= 64 { 1188 return ErrIntOverflowLinks 1189 } 1190 if iNdEx >= l { 1191 return io.ErrUnexpectedEOF 1192 } 1193 b := dAtA[iNdEx] 1194 iNdEx++ 1195 stringLen |= uint64(b&0x7F) << shift 1196 if b < 0x80 { 1197 break 1198 } 1199 } 1200 intStringLen := int(stringLen) 1201 if intStringLen < 0 { 1202 return ErrInvalidLengthLinks 1203 } 1204 postIndex := iNdEx + intStringLen 1205 if postIndex < 0 { 1206 return ErrInvalidLengthLinks 1207 } 1208 if postIndex > l { 1209 return io.ErrUnexpectedEOF 1210 } 1211 m.SrcID = PortID(dAtA[iNdEx:postIndex]) 1212 iNdEx = postIndex 1213 case 3: 1214 if wireType != 2 { 1215 return fmt.Errorf("proto: wrong wireType = %d for field TgtID", wireType) 1216 } 1217 var stringLen uint64 1218 for shift := uint(0); ; shift += 7 { 1219 if shift >= 64 { 1220 return ErrIntOverflowLinks 1221 } 1222 if iNdEx >= l { 1223 return io.ErrUnexpectedEOF 1224 } 1225 b := dAtA[iNdEx] 1226 iNdEx++ 1227 stringLen |= uint64(b&0x7F) << shift 1228 if b < 0x80 { 1229 break 1230 } 1231 } 1232 intStringLen := int(stringLen) 1233 if intStringLen < 0 { 1234 return ErrInvalidLengthLinks 1235 } 1236 postIndex := iNdEx + intStringLen 1237 if postIndex < 0 { 1238 return ErrInvalidLengthLinks 1239 } 1240 if postIndex > l { 1241 return io.ErrUnexpectedEOF 1242 } 1243 m.TgtID = PortID(dAtA[iNdEx:postIndex]) 1244 iNdEx = postIndex 1245 case 4: 1246 if wireType != 0 { 1247 return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) 1248 } 1249 m.Status = 0 1250 for shift := uint(0); ; shift += 7 { 1251 if shift >= 64 { 1252 return ErrIntOverflowLinks 1253 } 1254 if iNdEx >= l { 1255 return io.ErrUnexpectedEOF 1256 } 1257 b := dAtA[iNdEx] 1258 iNdEx++ 1259 m.Status |= LinkStatus(b&0x7F) << shift 1260 if b < 0x80 { 1261 break 1262 } 1263 } 1264 default: 1265 iNdEx = preIndex 1266 skippy, err := skipLinks(dAtA[iNdEx:]) 1267 if err != nil { 1268 return err 1269 } 1270 if (skippy < 0) || (iNdEx+skippy) < 0 { 1271 return ErrInvalidLengthLinks 1272 } 1273 if (iNdEx + skippy) > l { 1274 return io.ErrUnexpectedEOF 1275 } 1276 iNdEx += skippy 1277 } 1278 } 1279 1280 if iNdEx > l { 1281 return io.ErrUnexpectedEOF 1282 } 1283 return nil 1284 } 1285 func (m *GetLinksRequest) Unmarshal(dAtA []byte) error { 1286 l := len(dAtA) 1287 iNdEx := 0 1288 for iNdEx < l { 1289 preIndex := iNdEx 1290 var wire uint64 1291 for shift := uint(0); ; shift += 7 { 1292 if shift >= 64 { 1293 return ErrIntOverflowLinks 1294 } 1295 if iNdEx >= l { 1296 return io.ErrUnexpectedEOF 1297 } 1298 b := dAtA[iNdEx] 1299 iNdEx++ 1300 wire |= uint64(b&0x7F) << shift 1301 if b < 0x80 { 1302 break 1303 } 1304 } 1305 fieldNum := int32(wire >> 3) 1306 wireType := int(wire & 0x7) 1307 if wireType == 4 { 1308 return fmt.Errorf("proto: GetLinksRequest: wiretype end group for non-group") 1309 } 1310 if fieldNum <= 0 { 1311 return fmt.Errorf("proto: GetLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) 1312 } 1313 switch fieldNum { 1314 default: 1315 iNdEx = preIndex 1316 skippy, err := skipLinks(dAtA[iNdEx:]) 1317 if err != nil { 1318 return err 1319 } 1320 if (skippy < 0) || (iNdEx+skippy) < 0 { 1321 return ErrInvalidLengthLinks 1322 } 1323 if (iNdEx + skippy) > l { 1324 return io.ErrUnexpectedEOF 1325 } 1326 iNdEx += skippy 1327 } 1328 } 1329 1330 if iNdEx > l { 1331 return io.ErrUnexpectedEOF 1332 } 1333 return nil 1334 } 1335 func (m *GetLinksResponse) Unmarshal(dAtA []byte) error { 1336 l := len(dAtA) 1337 iNdEx := 0 1338 for iNdEx < l { 1339 preIndex := iNdEx 1340 var wire uint64 1341 for shift := uint(0); ; shift += 7 { 1342 if shift >= 64 { 1343 return ErrIntOverflowLinks 1344 } 1345 if iNdEx >= l { 1346 return io.ErrUnexpectedEOF 1347 } 1348 b := dAtA[iNdEx] 1349 iNdEx++ 1350 wire |= uint64(b&0x7F) << shift 1351 if b < 0x80 { 1352 break 1353 } 1354 } 1355 fieldNum := int32(wire >> 3) 1356 wireType := int(wire & 0x7) 1357 if wireType == 4 { 1358 return fmt.Errorf("proto: GetLinksResponse: wiretype end group for non-group") 1359 } 1360 if fieldNum <= 0 { 1361 return fmt.Errorf("proto: GetLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) 1362 } 1363 switch fieldNum { 1364 case 1: 1365 if wireType != 2 { 1366 return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) 1367 } 1368 var msglen int 1369 for shift := uint(0); ; shift += 7 { 1370 if shift >= 64 { 1371 return ErrIntOverflowLinks 1372 } 1373 if iNdEx >= l { 1374 return io.ErrUnexpectedEOF 1375 } 1376 b := dAtA[iNdEx] 1377 iNdEx++ 1378 msglen |= int(b&0x7F) << shift 1379 if b < 0x80 { 1380 break 1381 } 1382 } 1383 if msglen < 0 { 1384 return ErrInvalidLengthLinks 1385 } 1386 postIndex := iNdEx + msglen 1387 if postIndex < 0 { 1388 return ErrInvalidLengthLinks 1389 } 1390 if postIndex > l { 1391 return io.ErrUnexpectedEOF 1392 } 1393 m.Links = append(m.Links, &Link{}) 1394 if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1395 return err 1396 } 1397 iNdEx = postIndex 1398 default: 1399 iNdEx = preIndex 1400 skippy, err := skipLinks(dAtA[iNdEx:]) 1401 if err != nil { 1402 return err 1403 } 1404 if (skippy < 0) || (iNdEx+skippy) < 0 { 1405 return ErrInvalidLengthLinks 1406 } 1407 if (iNdEx + skippy) > l { 1408 return io.ErrUnexpectedEOF 1409 } 1410 iNdEx += skippy 1411 } 1412 } 1413 1414 if iNdEx > l { 1415 return io.ErrUnexpectedEOF 1416 } 1417 return nil 1418 } 1419 func (m *GetLinkRequest) Unmarshal(dAtA []byte) error { 1420 l := len(dAtA) 1421 iNdEx := 0 1422 for iNdEx < l { 1423 preIndex := iNdEx 1424 var wire uint64 1425 for shift := uint(0); ; shift += 7 { 1426 if shift >= 64 { 1427 return ErrIntOverflowLinks 1428 } 1429 if iNdEx >= l { 1430 return io.ErrUnexpectedEOF 1431 } 1432 b := dAtA[iNdEx] 1433 iNdEx++ 1434 wire |= uint64(b&0x7F) << shift 1435 if b < 0x80 { 1436 break 1437 } 1438 } 1439 fieldNum := int32(wire >> 3) 1440 wireType := int(wire & 0x7) 1441 if wireType == 4 { 1442 return fmt.Errorf("proto: GetLinkRequest: wiretype end group for non-group") 1443 } 1444 if fieldNum <= 0 { 1445 return fmt.Errorf("proto: GetLinkRequest: illegal tag %d (wire type %d)", fieldNum, wire) 1446 } 1447 switch fieldNum { 1448 case 1: 1449 if wireType != 2 { 1450 return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) 1451 } 1452 var stringLen uint64 1453 for shift := uint(0); ; shift += 7 { 1454 if shift >= 64 { 1455 return ErrIntOverflowLinks 1456 } 1457 if iNdEx >= l { 1458 return io.ErrUnexpectedEOF 1459 } 1460 b := dAtA[iNdEx] 1461 iNdEx++ 1462 stringLen |= uint64(b&0x7F) << shift 1463 if b < 0x80 { 1464 break 1465 } 1466 } 1467 intStringLen := int(stringLen) 1468 if intStringLen < 0 { 1469 return ErrInvalidLengthLinks 1470 } 1471 postIndex := iNdEx + intStringLen 1472 if postIndex < 0 { 1473 return ErrInvalidLengthLinks 1474 } 1475 if postIndex > l { 1476 return io.ErrUnexpectedEOF 1477 } 1478 m.ID = LinkID(dAtA[iNdEx:postIndex]) 1479 iNdEx = postIndex 1480 default: 1481 iNdEx = preIndex 1482 skippy, err := skipLinks(dAtA[iNdEx:]) 1483 if err != nil { 1484 return err 1485 } 1486 if (skippy < 0) || (iNdEx+skippy) < 0 { 1487 return ErrInvalidLengthLinks 1488 } 1489 if (iNdEx + skippy) > l { 1490 return io.ErrUnexpectedEOF 1491 } 1492 iNdEx += skippy 1493 } 1494 } 1495 1496 if iNdEx > l { 1497 return io.ErrUnexpectedEOF 1498 } 1499 return nil 1500 } 1501 func (m *GetLinkResponse) Unmarshal(dAtA []byte) error { 1502 l := len(dAtA) 1503 iNdEx := 0 1504 for iNdEx < l { 1505 preIndex := iNdEx 1506 var wire uint64 1507 for shift := uint(0); ; shift += 7 { 1508 if shift >= 64 { 1509 return ErrIntOverflowLinks 1510 } 1511 if iNdEx >= l { 1512 return io.ErrUnexpectedEOF 1513 } 1514 b := dAtA[iNdEx] 1515 iNdEx++ 1516 wire |= uint64(b&0x7F) << shift 1517 if b < 0x80 { 1518 break 1519 } 1520 } 1521 fieldNum := int32(wire >> 3) 1522 wireType := int(wire & 0x7) 1523 if wireType == 4 { 1524 return fmt.Errorf("proto: GetLinkResponse: wiretype end group for non-group") 1525 } 1526 if fieldNum <= 0 { 1527 return fmt.Errorf("proto: GetLinkResponse: illegal tag %d (wire type %d)", fieldNum, wire) 1528 } 1529 switch fieldNum { 1530 case 1: 1531 if wireType != 2 { 1532 return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) 1533 } 1534 var msglen int 1535 for shift := uint(0); ; shift += 7 { 1536 if shift >= 64 { 1537 return ErrIntOverflowLinks 1538 } 1539 if iNdEx >= l { 1540 return io.ErrUnexpectedEOF 1541 } 1542 b := dAtA[iNdEx] 1543 iNdEx++ 1544 msglen |= int(b&0x7F) << shift 1545 if b < 0x80 { 1546 break 1547 } 1548 } 1549 if msglen < 0 { 1550 return ErrInvalidLengthLinks 1551 } 1552 postIndex := iNdEx + msglen 1553 if postIndex < 0 { 1554 return ErrInvalidLengthLinks 1555 } 1556 if postIndex > l { 1557 return io.ErrUnexpectedEOF 1558 } 1559 if m.Link == nil { 1560 m.Link = &Link{} 1561 } 1562 if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1563 return err 1564 } 1565 iNdEx = postIndex 1566 default: 1567 iNdEx = preIndex 1568 skippy, err := skipLinks(dAtA[iNdEx:]) 1569 if err != nil { 1570 return err 1571 } 1572 if (skippy < 0) || (iNdEx+skippy) < 0 { 1573 return ErrInvalidLengthLinks 1574 } 1575 if (iNdEx + skippy) > l { 1576 return io.ErrUnexpectedEOF 1577 } 1578 iNdEx += skippy 1579 } 1580 } 1581 1582 if iNdEx > l { 1583 return io.ErrUnexpectedEOF 1584 } 1585 return nil 1586 } 1587 func (m *AddLinkRequest) Unmarshal(dAtA []byte) error { 1588 l := len(dAtA) 1589 iNdEx := 0 1590 for iNdEx < l { 1591 preIndex := iNdEx 1592 var wire uint64 1593 for shift := uint(0); ; shift += 7 { 1594 if shift >= 64 { 1595 return ErrIntOverflowLinks 1596 } 1597 if iNdEx >= l { 1598 return io.ErrUnexpectedEOF 1599 } 1600 b := dAtA[iNdEx] 1601 iNdEx++ 1602 wire |= uint64(b&0x7F) << shift 1603 if b < 0x80 { 1604 break 1605 } 1606 } 1607 fieldNum := int32(wire >> 3) 1608 wireType := int(wire & 0x7) 1609 if wireType == 4 { 1610 return fmt.Errorf("proto: AddLinkRequest: wiretype end group for non-group") 1611 } 1612 if fieldNum <= 0 { 1613 return fmt.Errorf("proto: AddLinkRequest: illegal tag %d (wire type %d)", fieldNum, wire) 1614 } 1615 switch fieldNum { 1616 case 1: 1617 if wireType != 2 { 1618 return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) 1619 } 1620 var msglen int 1621 for shift := uint(0); ; shift += 7 { 1622 if shift >= 64 { 1623 return ErrIntOverflowLinks 1624 } 1625 if iNdEx >= l { 1626 return io.ErrUnexpectedEOF 1627 } 1628 b := dAtA[iNdEx] 1629 iNdEx++ 1630 msglen |= int(b&0x7F) << shift 1631 if b < 0x80 { 1632 break 1633 } 1634 } 1635 if msglen < 0 { 1636 return ErrInvalidLengthLinks 1637 } 1638 postIndex := iNdEx + msglen 1639 if postIndex < 0 { 1640 return ErrInvalidLengthLinks 1641 } 1642 if postIndex > l { 1643 return io.ErrUnexpectedEOF 1644 } 1645 if m.Link == nil { 1646 m.Link = &Link{} 1647 } 1648 if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1649 return err 1650 } 1651 iNdEx = postIndex 1652 default: 1653 iNdEx = preIndex 1654 skippy, err := skipLinks(dAtA[iNdEx:]) 1655 if err != nil { 1656 return err 1657 } 1658 if (skippy < 0) || (iNdEx+skippy) < 0 { 1659 return ErrInvalidLengthLinks 1660 } 1661 if (iNdEx + skippy) > l { 1662 return io.ErrUnexpectedEOF 1663 } 1664 iNdEx += skippy 1665 } 1666 } 1667 1668 if iNdEx > l { 1669 return io.ErrUnexpectedEOF 1670 } 1671 return nil 1672 } 1673 func (m *AddLinkResponse) Unmarshal(dAtA []byte) error { 1674 l := len(dAtA) 1675 iNdEx := 0 1676 for iNdEx < l { 1677 preIndex := iNdEx 1678 var wire uint64 1679 for shift := uint(0); ; shift += 7 { 1680 if shift >= 64 { 1681 return ErrIntOverflowLinks 1682 } 1683 if iNdEx >= l { 1684 return io.ErrUnexpectedEOF 1685 } 1686 b := dAtA[iNdEx] 1687 iNdEx++ 1688 wire |= uint64(b&0x7F) << shift 1689 if b < 0x80 { 1690 break 1691 } 1692 } 1693 fieldNum := int32(wire >> 3) 1694 wireType := int(wire & 0x7) 1695 if wireType == 4 { 1696 return fmt.Errorf("proto: AddLinkResponse: wiretype end group for non-group") 1697 } 1698 if fieldNum <= 0 { 1699 return fmt.Errorf("proto: AddLinkResponse: illegal tag %d (wire type %d)", fieldNum, wire) 1700 } 1701 switch fieldNum { 1702 default: 1703 iNdEx = preIndex 1704 skippy, err := skipLinks(dAtA[iNdEx:]) 1705 if err != nil { 1706 return err 1707 } 1708 if (skippy < 0) || (iNdEx+skippy) < 0 { 1709 return ErrInvalidLengthLinks 1710 } 1711 if (iNdEx + skippy) > l { 1712 return io.ErrUnexpectedEOF 1713 } 1714 iNdEx += skippy 1715 } 1716 } 1717 1718 if iNdEx > l { 1719 return io.ErrUnexpectedEOF 1720 } 1721 return nil 1722 } 1723 func (m *RemoveLinkRequest) Unmarshal(dAtA []byte) error { 1724 l := len(dAtA) 1725 iNdEx := 0 1726 for iNdEx < l { 1727 preIndex := iNdEx 1728 var wire uint64 1729 for shift := uint(0); ; shift += 7 { 1730 if shift >= 64 { 1731 return ErrIntOverflowLinks 1732 } 1733 if iNdEx >= l { 1734 return io.ErrUnexpectedEOF 1735 } 1736 b := dAtA[iNdEx] 1737 iNdEx++ 1738 wire |= uint64(b&0x7F) << shift 1739 if b < 0x80 { 1740 break 1741 } 1742 } 1743 fieldNum := int32(wire >> 3) 1744 wireType := int(wire & 0x7) 1745 if wireType == 4 { 1746 return fmt.Errorf("proto: RemoveLinkRequest: wiretype end group for non-group") 1747 } 1748 if fieldNum <= 0 { 1749 return fmt.Errorf("proto: RemoveLinkRequest: illegal tag %d (wire type %d)", fieldNum, wire) 1750 } 1751 switch fieldNum { 1752 case 1: 1753 if wireType != 2 { 1754 return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) 1755 } 1756 var stringLen uint64 1757 for shift := uint(0); ; shift += 7 { 1758 if shift >= 64 { 1759 return ErrIntOverflowLinks 1760 } 1761 if iNdEx >= l { 1762 return io.ErrUnexpectedEOF 1763 } 1764 b := dAtA[iNdEx] 1765 iNdEx++ 1766 stringLen |= uint64(b&0x7F) << shift 1767 if b < 0x80 { 1768 break 1769 } 1770 } 1771 intStringLen := int(stringLen) 1772 if intStringLen < 0 { 1773 return ErrInvalidLengthLinks 1774 } 1775 postIndex := iNdEx + intStringLen 1776 if postIndex < 0 { 1777 return ErrInvalidLengthLinks 1778 } 1779 if postIndex > l { 1780 return io.ErrUnexpectedEOF 1781 } 1782 m.ID = LinkID(dAtA[iNdEx:postIndex]) 1783 iNdEx = postIndex 1784 default: 1785 iNdEx = preIndex 1786 skippy, err := skipLinks(dAtA[iNdEx:]) 1787 if err != nil { 1788 return err 1789 } 1790 if (skippy < 0) || (iNdEx+skippy) < 0 { 1791 return ErrInvalidLengthLinks 1792 } 1793 if (iNdEx + skippy) > l { 1794 return io.ErrUnexpectedEOF 1795 } 1796 iNdEx += skippy 1797 } 1798 } 1799 1800 if iNdEx > l { 1801 return io.ErrUnexpectedEOF 1802 } 1803 return nil 1804 } 1805 func (m *RemoveLinkResponse) Unmarshal(dAtA []byte) error { 1806 l := len(dAtA) 1807 iNdEx := 0 1808 for iNdEx < l { 1809 preIndex := iNdEx 1810 var wire uint64 1811 for shift := uint(0); ; shift += 7 { 1812 if shift >= 64 { 1813 return ErrIntOverflowLinks 1814 } 1815 if iNdEx >= l { 1816 return io.ErrUnexpectedEOF 1817 } 1818 b := dAtA[iNdEx] 1819 iNdEx++ 1820 wire |= uint64(b&0x7F) << shift 1821 if b < 0x80 { 1822 break 1823 } 1824 } 1825 fieldNum := int32(wire >> 3) 1826 wireType := int(wire & 0x7) 1827 if wireType == 4 { 1828 return fmt.Errorf("proto: RemoveLinkResponse: wiretype end group for non-group") 1829 } 1830 if fieldNum <= 0 { 1831 return fmt.Errorf("proto: RemoveLinkResponse: illegal tag %d (wire type %d)", fieldNum, wire) 1832 } 1833 switch fieldNum { 1834 default: 1835 iNdEx = preIndex 1836 skippy, err := skipLinks(dAtA[iNdEx:]) 1837 if err != nil { 1838 return err 1839 } 1840 if (skippy < 0) || (iNdEx+skippy) < 0 { 1841 return ErrInvalidLengthLinks 1842 } 1843 if (iNdEx + skippy) > l { 1844 return io.ErrUnexpectedEOF 1845 } 1846 iNdEx += skippy 1847 } 1848 } 1849 1850 if iNdEx > l { 1851 return io.ErrUnexpectedEOF 1852 } 1853 return nil 1854 } 1855 func skipLinks(dAtA []byte) (n int, err error) { 1856 l := len(dAtA) 1857 iNdEx := 0 1858 depth := 0 1859 for iNdEx < l { 1860 var wire uint64 1861 for shift := uint(0); ; shift += 7 { 1862 if shift >= 64 { 1863 return 0, ErrIntOverflowLinks 1864 } 1865 if iNdEx >= l { 1866 return 0, io.ErrUnexpectedEOF 1867 } 1868 b := dAtA[iNdEx] 1869 iNdEx++ 1870 wire |= (uint64(b) & 0x7F) << shift 1871 if b < 0x80 { 1872 break 1873 } 1874 } 1875 wireType := int(wire & 0x7) 1876 switch wireType { 1877 case 0: 1878 for shift := uint(0); ; shift += 7 { 1879 if shift >= 64 { 1880 return 0, ErrIntOverflowLinks 1881 } 1882 if iNdEx >= l { 1883 return 0, io.ErrUnexpectedEOF 1884 } 1885 iNdEx++ 1886 if dAtA[iNdEx-1] < 0x80 { 1887 break 1888 } 1889 } 1890 case 1: 1891 iNdEx += 8 1892 case 2: 1893 var length int 1894 for shift := uint(0); ; shift += 7 { 1895 if shift >= 64 { 1896 return 0, ErrIntOverflowLinks 1897 } 1898 if iNdEx >= l { 1899 return 0, io.ErrUnexpectedEOF 1900 } 1901 b := dAtA[iNdEx] 1902 iNdEx++ 1903 length |= (int(b) & 0x7F) << shift 1904 if b < 0x80 { 1905 break 1906 } 1907 } 1908 if length < 0 { 1909 return 0, ErrInvalidLengthLinks 1910 } 1911 iNdEx += length 1912 case 3: 1913 depth++ 1914 case 4: 1915 if depth == 0 { 1916 return 0, ErrUnexpectedEndOfGroupLinks 1917 } 1918 depth-- 1919 case 5: 1920 iNdEx += 4 1921 default: 1922 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 1923 } 1924 if iNdEx < 0 { 1925 return 0, ErrInvalidLengthLinks 1926 } 1927 if depth == 0 { 1928 return iNdEx, nil 1929 } 1930 } 1931 return 0, io.ErrUnexpectedEOF 1932 } 1933 1934 var ( 1935 ErrInvalidLengthLinks = fmt.Errorf("proto: negative length found during unmarshaling") 1936 ErrIntOverflowLinks = fmt.Errorf("proto: integer overflow") 1937 ErrUnexpectedEndOfGroupLinks = fmt.Errorf("proto: unexpected end of group") 1938 )