github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/archive/codecs/ReplicateRequest.go (about) 1 // Generated SBE (Simple Binary Encoding) message codec 2 3 package codecs 4 5 import ( 6 "fmt" 7 "io" 8 "io/ioutil" 9 "math" 10 ) 11 12 type ReplicateRequest struct { 13 ControlSessionId int64 14 CorrelationId int64 15 SrcRecordingId int64 16 DstRecordingId int64 17 SrcControlStreamId int32 18 SrcControlChannel []uint8 19 LiveDestination []uint8 20 } 21 22 func (r *ReplicateRequest) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error { 23 if doRangeCheck { 24 if err := r.RangeCheck(r.SbeSchemaVersion(), r.SbeSchemaVersion()); err != nil { 25 return err 26 } 27 } 28 if err := _m.WriteInt64(_w, r.ControlSessionId); err != nil { 29 return err 30 } 31 if err := _m.WriteInt64(_w, r.CorrelationId); err != nil { 32 return err 33 } 34 if err := _m.WriteInt64(_w, r.SrcRecordingId); err != nil { 35 return err 36 } 37 if err := _m.WriteInt64(_w, r.DstRecordingId); err != nil { 38 return err 39 } 40 if err := _m.WriteInt32(_w, r.SrcControlStreamId); err != nil { 41 return err 42 } 43 if err := _m.WriteUint32(_w, uint32(len(r.SrcControlChannel))); err != nil { 44 return err 45 } 46 if err := _m.WriteBytes(_w, r.SrcControlChannel); err != nil { 47 return err 48 } 49 if err := _m.WriteUint32(_w, uint32(len(r.LiveDestination))); err != nil { 50 return err 51 } 52 if err := _m.WriteBytes(_w, r.LiveDestination); err != nil { 53 return err 54 } 55 return nil 56 } 57 58 func (r *ReplicateRequest) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error { 59 if !r.ControlSessionIdInActingVersion(actingVersion) { 60 r.ControlSessionId = r.ControlSessionIdNullValue() 61 } else { 62 if err := _m.ReadInt64(_r, &r.ControlSessionId); err != nil { 63 return err 64 } 65 } 66 if !r.CorrelationIdInActingVersion(actingVersion) { 67 r.CorrelationId = r.CorrelationIdNullValue() 68 } else { 69 if err := _m.ReadInt64(_r, &r.CorrelationId); err != nil { 70 return err 71 } 72 } 73 if !r.SrcRecordingIdInActingVersion(actingVersion) { 74 r.SrcRecordingId = r.SrcRecordingIdNullValue() 75 } else { 76 if err := _m.ReadInt64(_r, &r.SrcRecordingId); err != nil { 77 return err 78 } 79 } 80 if !r.DstRecordingIdInActingVersion(actingVersion) { 81 r.DstRecordingId = r.DstRecordingIdNullValue() 82 } else { 83 if err := _m.ReadInt64(_r, &r.DstRecordingId); err != nil { 84 return err 85 } 86 } 87 if !r.SrcControlStreamIdInActingVersion(actingVersion) { 88 r.SrcControlStreamId = r.SrcControlStreamIdNullValue() 89 } else { 90 if err := _m.ReadInt32(_r, &r.SrcControlStreamId); err != nil { 91 return err 92 } 93 } 94 if actingVersion > r.SbeSchemaVersion() && blockLength > r.SbeBlockLength() { 95 io.CopyN(ioutil.Discard, _r, int64(blockLength-r.SbeBlockLength())) 96 } 97 98 if r.SrcControlChannelInActingVersion(actingVersion) { 99 var SrcControlChannelLength uint32 100 if err := _m.ReadUint32(_r, &SrcControlChannelLength); err != nil { 101 return err 102 } 103 if cap(r.SrcControlChannel) < int(SrcControlChannelLength) { 104 r.SrcControlChannel = make([]uint8, SrcControlChannelLength) 105 } 106 r.SrcControlChannel = r.SrcControlChannel[:SrcControlChannelLength] 107 if err := _m.ReadBytes(_r, r.SrcControlChannel); err != nil { 108 return err 109 } 110 } 111 112 if r.LiveDestinationInActingVersion(actingVersion) { 113 var LiveDestinationLength uint32 114 if err := _m.ReadUint32(_r, &LiveDestinationLength); err != nil { 115 return err 116 } 117 if cap(r.LiveDestination) < int(LiveDestinationLength) { 118 r.LiveDestination = make([]uint8, LiveDestinationLength) 119 } 120 r.LiveDestination = r.LiveDestination[:LiveDestinationLength] 121 if err := _m.ReadBytes(_r, r.LiveDestination); err != nil { 122 return err 123 } 124 } 125 if doRangeCheck { 126 if err := r.RangeCheck(actingVersion, r.SbeSchemaVersion()); err != nil { 127 return err 128 } 129 } 130 return nil 131 } 132 133 func (r *ReplicateRequest) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 134 if r.ControlSessionIdInActingVersion(actingVersion) { 135 if r.ControlSessionId < r.ControlSessionIdMinValue() || r.ControlSessionId > r.ControlSessionIdMaxValue() { 136 return fmt.Errorf("Range check failed on r.ControlSessionId (%v < %v > %v)", r.ControlSessionIdMinValue(), r.ControlSessionId, r.ControlSessionIdMaxValue()) 137 } 138 } 139 if r.CorrelationIdInActingVersion(actingVersion) { 140 if r.CorrelationId < r.CorrelationIdMinValue() || r.CorrelationId > r.CorrelationIdMaxValue() { 141 return fmt.Errorf("Range check failed on r.CorrelationId (%v < %v > %v)", r.CorrelationIdMinValue(), r.CorrelationId, r.CorrelationIdMaxValue()) 142 } 143 } 144 if r.SrcRecordingIdInActingVersion(actingVersion) { 145 if r.SrcRecordingId < r.SrcRecordingIdMinValue() || r.SrcRecordingId > r.SrcRecordingIdMaxValue() { 146 return fmt.Errorf("Range check failed on r.SrcRecordingId (%v < %v > %v)", r.SrcRecordingIdMinValue(), r.SrcRecordingId, r.SrcRecordingIdMaxValue()) 147 } 148 } 149 if r.DstRecordingIdInActingVersion(actingVersion) { 150 if r.DstRecordingId < r.DstRecordingIdMinValue() || r.DstRecordingId > r.DstRecordingIdMaxValue() { 151 return fmt.Errorf("Range check failed on r.DstRecordingId (%v < %v > %v)", r.DstRecordingIdMinValue(), r.DstRecordingId, r.DstRecordingIdMaxValue()) 152 } 153 } 154 if r.SrcControlStreamIdInActingVersion(actingVersion) { 155 if r.SrcControlStreamId < r.SrcControlStreamIdMinValue() || r.SrcControlStreamId > r.SrcControlStreamIdMaxValue() { 156 return fmt.Errorf("Range check failed on r.SrcControlStreamId (%v < %v > %v)", r.SrcControlStreamIdMinValue(), r.SrcControlStreamId, r.SrcControlStreamIdMaxValue()) 157 } 158 } 159 return nil 160 } 161 162 func ReplicateRequestInit(r *ReplicateRequest) { 163 return 164 } 165 166 func (*ReplicateRequest) SbeBlockLength() (blockLength uint16) { 167 return 36 168 } 169 170 func (*ReplicateRequest) SbeTemplateId() (templateId uint16) { 171 return 50 172 } 173 174 func (*ReplicateRequest) SbeSchemaId() (schemaId uint16) { 175 return 101 176 } 177 178 func (*ReplicateRequest) SbeSchemaVersion() (schemaVersion uint16) { 179 return 6 180 } 181 182 func (*ReplicateRequest) SbeSemanticType() (semanticType []byte) { 183 return []byte("") 184 } 185 186 func (*ReplicateRequest) ControlSessionIdId() uint16 { 187 return 1 188 } 189 190 func (*ReplicateRequest) ControlSessionIdSinceVersion() uint16 { 191 return 0 192 } 193 194 func (r *ReplicateRequest) ControlSessionIdInActingVersion(actingVersion uint16) bool { 195 return actingVersion >= r.ControlSessionIdSinceVersion() 196 } 197 198 func (*ReplicateRequest) ControlSessionIdDeprecated() uint16 { 199 return 0 200 } 201 202 func (*ReplicateRequest) ControlSessionIdMetaAttribute(meta int) string { 203 switch meta { 204 case 1: 205 return "" 206 case 2: 207 return "" 208 case 3: 209 return "" 210 case 4: 211 return "required" 212 } 213 return "" 214 } 215 216 func (*ReplicateRequest) ControlSessionIdMinValue() int64 { 217 return math.MinInt64 + 1 218 } 219 220 func (*ReplicateRequest) ControlSessionIdMaxValue() int64 { 221 return math.MaxInt64 222 } 223 224 func (*ReplicateRequest) ControlSessionIdNullValue() int64 { 225 return math.MinInt64 226 } 227 228 func (*ReplicateRequest) CorrelationIdId() uint16 { 229 return 2 230 } 231 232 func (*ReplicateRequest) CorrelationIdSinceVersion() uint16 { 233 return 0 234 } 235 236 func (r *ReplicateRequest) CorrelationIdInActingVersion(actingVersion uint16) bool { 237 return actingVersion >= r.CorrelationIdSinceVersion() 238 } 239 240 func (*ReplicateRequest) CorrelationIdDeprecated() uint16 { 241 return 0 242 } 243 244 func (*ReplicateRequest) CorrelationIdMetaAttribute(meta int) string { 245 switch meta { 246 case 1: 247 return "" 248 case 2: 249 return "" 250 case 3: 251 return "" 252 case 4: 253 return "required" 254 } 255 return "" 256 } 257 258 func (*ReplicateRequest) CorrelationIdMinValue() int64 { 259 return math.MinInt64 + 1 260 } 261 262 func (*ReplicateRequest) CorrelationIdMaxValue() int64 { 263 return math.MaxInt64 264 } 265 266 func (*ReplicateRequest) CorrelationIdNullValue() int64 { 267 return math.MinInt64 268 } 269 270 func (*ReplicateRequest) SrcRecordingIdId() uint16 { 271 return 3 272 } 273 274 func (*ReplicateRequest) SrcRecordingIdSinceVersion() uint16 { 275 return 0 276 } 277 278 func (r *ReplicateRequest) SrcRecordingIdInActingVersion(actingVersion uint16) bool { 279 return actingVersion >= r.SrcRecordingIdSinceVersion() 280 } 281 282 func (*ReplicateRequest) SrcRecordingIdDeprecated() uint16 { 283 return 0 284 } 285 286 func (*ReplicateRequest) SrcRecordingIdMetaAttribute(meta int) string { 287 switch meta { 288 case 1: 289 return "" 290 case 2: 291 return "" 292 case 3: 293 return "" 294 case 4: 295 return "required" 296 } 297 return "" 298 } 299 300 func (*ReplicateRequest) SrcRecordingIdMinValue() int64 { 301 return math.MinInt64 + 1 302 } 303 304 func (*ReplicateRequest) SrcRecordingIdMaxValue() int64 { 305 return math.MaxInt64 306 } 307 308 func (*ReplicateRequest) SrcRecordingIdNullValue() int64 { 309 return math.MinInt64 310 } 311 312 func (*ReplicateRequest) DstRecordingIdId() uint16 { 313 return 4 314 } 315 316 func (*ReplicateRequest) DstRecordingIdSinceVersion() uint16 { 317 return 0 318 } 319 320 func (r *ReplicateRequest) DstRecordingIdInActingVersion(actingVersion uint16) bool { 321 return actingVersion >= r.DstRecordingIdSinceVersion() 322 } 323 324 func (*ReplicateRequest) DstRecordingIdDeprecated() uint16 { 325 return 0 326 } 327 328 func (*ReplicateRequest) DstRecordingIdMetaAttribute(meta int) string { 329 switch meta { 330 case 1: 331 return "" 332 case 2: 333 return "" 334 case 3: 335 return "" 336 case 4: 337 return "required" 338 } 339 return "" 340 } 341 342 func (*ReplicateRequest) DstRecordingIdMinValue() int64 { 343 return math.MinInt64 + 1 344 } 345 346 func (*ReplicateRequest) DstRecordingIdMaxValue() int64 { 347 return math.MaxInt64 348 } 349 350 func (*ReplicateRequest) DstRecordingIdNullValue() int64 { 351 return math.MinInt64 352 } 353 354 func (*ReplicateRequest) SrcControlStreamIdId() uint16 { 355 return 5 356 } 357 358 func (*ReplicateRequest) SrcControlStreamIdSinceVersion() uint16 { 359 return 0 360 } 361 362 func (r *ReplicateRequest) SrcControlStreamIdInActingVersion(actingVersion uint16) bool { 363 return actingVersion >= r.SrcControlStreamIdSinceVersion() 364 } 365 366 func (*ReplicateRequest) SrcControlStreamIdDeprecated() uint16 { 367 return 0 368 } 369 370 func (*ReplicateRequest) SrcControlStreamIdMetaAttribute(meta int) string { 371 switch meta { 372 case 1: 373 return "" 374 case 2: 375 return "" 376 case 3: 377 return "" 378 case 4: 379 return "required" 380 } 381 return "" 382 } 383 384 func (*ReplicateRequest) SrcControlStreamIdMinValue() int32 { 385 return math.MinInt32 + 1 386 } 387 388 func (*ReplicateRequest) SrcControlStreamIdMaxValue() int32 { 389 return math.MaxInt32 390 } 391 392 func (*ReplicateRequest) SrcControlStreamIdNullValue() int32 { 393 return math.MinInt32 394 } 395 396 func (*ReplicateRequest) SrcControlChannelMetaAttribute(meta int) string { 397 switch meta { 398 case 1: 399 return "" 400 case 2: 401 return "" 402 case 3: 403 return "" 404 case 4: 405 return "required" 406 } 407 return "" 408 } 409 410 func (*ReplicateRequest) SrcControlChannelSinceVersion() uint16 { 411 return 0 412 } 413 414 func (r *ReplicateRequest) SrcControlChannelInActingVersion(actingVersion uint16) bool { 415 return actingVersion >= r.SrcControlChannelSinceVersion() 416 } 417 418 func (*ReplicateRequest) SrcControlChannelDeprecated() uint16 { 419 return 0 420 } 421 422 func (ReplicateRequest) SrcControlChannelCharacterEncoding() string { 423 return "US-ASCII" 424 } 425 426 func (ReplicateRequest) SrcControlChannelHeaderLength() uint64 { 427 return 4 428 } 429 430 func (*ReplicateRequest) LiveDestinationMetaAttribute(meta int) string { 431 switch meta { 432 case 1: 433 return "" 434 case 2: 435 return "" 436 case 3: 437 return "" 438 case 4: 439 return "required" 440 } 441 return "" 442 } 443 444 func (*ReplicateRequest) LiveDestinationSinceVersion() uint16 { 445 return 0 446 } 447 448 func (r *ReplicateRequest) LiveDestinationInActingVersion(actingVersion uint16) bool { 449 return actingVersion >= r.LiveDestinationSinceVersion() 450 } 451 452 func (*ReplicateRequest) LiveDestinationDeprecated() uint16 { 453 return 0 454 } 455 456 func (ReplicateRequest) LiveDestinationCharacterEncoding() string { 457 return "US-ASCII" 458 } 459 460 func (ReplicateRequest) LiveDestinationHeaderLength() uint64 { 461 return 4 462 }