github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/archive/codecs/StartRecordingRequest2.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 StartRecordingRequest2 struct { 13 ControlSessionId int64 14 CorrelationId int64 15 StreamId int32 16 SourceLocation SourceLocationEnum 17 AutoStop BooleanTypeEnum 18 Channel []uint8 19 } 20 21 func (s *StartRecordingRequest2) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error { 22 if doRangeCheck { 23 if err := s.RangeCheck(s.SbeSchemaVersion(), s.SbeSchemaVersion()); err != nil { 24 return err 25 } 26 } 27 if err := _m.WriteInt64(_w, s.ControlSessionId); err != nil { 28 return err 29 } 30 if err := _m.WriteInt64(_w, s.CorrelationId); err != nil { 31 return err 32 } 33 if err := _m.WriteInt32(_w, s.StreamId); err != nil { 34 return err 35 } 36 if err := s.SourceLocation.Encode(_m, _w); err != nil { 37 return err 38 } 39 if err := s.AutoStop.Encode(_m, _w); err != nil { 40 return err 41 } 42 if err := _m.WriteUint32(_w, uint32(len(s.Channel))); err != nil { 43 return err 44 } 45 if err := _m.WriteBytes(_w, s.Channel); err != nil { 46 return err 47 } 48 return nil 49 } 50 51 func (s *StartRecordingRequest2) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error { 52 if !s.ControlSessionIdInActingVersion(actingVersion) { 53 s.ControlSessionId = s.ControlSessionIdNullValue() 54 } else { 55 if err := _m.ReadInt64(_r, &s.ControlSessionId); err != nil { 56 return err 57 } 58 } 59 if !s.CorrelationIdInActingVersion(actingVersion) { 60 s.CorrelationId = s.CorrelationIdNullValue() 61 } else { 62 if err := _m.ReadInt64(_r, &s.CorrelationId); err != nil { 63 return err 64 } 65 } 66 if !s.StreamIdInActingVersion(actingVersion) { 67 s.StreamId = s.StreamIdNullValue() 68 } else { 69 if err := _m.ReadInt32(_r, &s.StreamId); err != nil { 70 return err 71 } 72 } 73 if s.SourceLocationInActingVersion(actingVersion) { 74 if err := s.SourceLocation.Decode(_m, _r, actingVersion); err != nil { 75 return err 76 } 77 } 78 if s.AutoStopInActingVersion(actingVersion) { 79 if err := s.AutoStop.Decode(_m, _r, actingVersion); err != nil { 80 return err 81 } 82 } 83 if actingVersion > s.SbeSchemaVersion() && blockLength > s.SbeBlockLength() { 84 io.CopyN(ioutil.Discard, _r, int64(blockLength-s.SbeBlockLength())) 85 } 86 87 if s.ChannelInActingVersion(actingVersion) { 88 var ChannelLength uint32 89 if err := _m.ReadUint32(_r, &ChannelLength); err != nil { 90 return err 91 } 92 if cap(s.Channel) < int(ChannelLength) { 93 s.Channel = make([]uint8, ChannelLength) 94 } 95 s.Channel = s.Channel[:ChannelLength] 96 if err := _m.ReadBytes(_r, s.Channel); err != nil { 97 return err 98 } 99 } 100 if doRangeCheck { 101 if err := s.RangeCheck(actingVersion, s.SbeSchemaVersion()); err != nil { 102 return err 103 } 104 } 105 return nil 106 } 107 108 func (s *StartRecordingRequest2) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 109 if s.ControlSessionIdInActingVersion(actingVersion) { 110 if s.ControlSessionId < s.ControlSessionIdMinValue() || s.ControlSessionId > s.ControlSessionIdMaxValue() { 111 return fmt.Errorf("Range check failed on s.ControlSessionId (%v < %v > %v)", s.ControlSessionIdMinValue(), s.ControlSessionId, s.ControlSessionIdMaxValue()) 112 } 113 } 114 if s.CorrelationIdInActingVersion(actingVersion) { 115 if s.CorrelationId < s.CorrelationIdMinValue() || s.CorrelationId > s.CorrelationIdMaxValue() { 116 return fmt.Errorf("Range check failed on s.CorrelationId (%v < %v > %v)", s.CorrelationIdMinValue(), s.CorrelationId, s.CorrelationIdMaxValue()) 117 } 118 } 119 if s.StreamIdInActingVersion(actingVersion) { 120 if s.StreamId < s.StreamIdMinValue() || s.StreamId > s.StreamIdMaxValue() { 121 return fmt.Errorf("Range check failed on s.StreamId (%v < %v > %v)", s.StreamIdMinValue(), s.StreamId, s.StreamIdMaxValue()) 122 } 123 } 124 if err := s.SourceLocation.RangeCheck(actingVersion, schemaVersion); err != nil { 125 return err 126 } 127 if err := s.AutoStop.RangeCheck(actingVersion, schemaVersion); err != nil { 128 return err 129 } 130 return nil 131 } 132 133 func StartRecordingRequest2Init(s *StartRecordingRequest2) { 134 return 135 } 136 137 func (*StartRecordingRequest2) SbeBlockLength() (blockLength uint16) { 138 return 28 139 } 140 141 func (*StartRecordingRequest2) SbeTemplateId() (templateId uint16) { 142 return 63 143 } 144 145 func (*StartRecordingRequest2) SbeSchemaId() (schemaId uint16) { 146 return 101 147 } 148 149 func (*StartRecordingRequest2) SbeSchemaVersion() (schemaVersion uint16) { 150 return 6 151 } 152 153 func (*StartRecordingRequest2) SbeSemanticType() (semanticType []byte) { 154 return []byte("") 155 } 156 157 func (*StartRecordingRequest2) ControlSessionIdId() uint16 { 158 return 1 159 } 160 161 func (*StartRecordingRequest2) ControlSessionIdSinceVersion() uint16 { 162 return 0 163 } 164 165 func (s *StartRecordingRequest2) ControlSessionIdInActingVersion(actingVersion uint16) bool { 166 return actingVersion >= s.ControlSessionIdSinceVersion() 167 } 168 169 func (*StartRecordingRequest2) ControlSessionIdDeprecated() uint16 { 170 return 0 171 } 172 173 func (*StartRecordingRequest2) ControlSessionIdMetaAttribute(meta int) string { 174 switch meta { 175 case 1: 176 return "" 177 case 2: 178 return "" 179 case 3: 180 return "" 181 case 4: 182 return "required" 183 } 184 return "" 185 } 186 187 func (*StartRecordingRequest2) ControlSessionIdMinValue() int64 { 188 return math.MinInt64 + 1 189 } 190 191 func (*StartRecordingRequest2) ControlSessionIdMaxValue() int64 { 192 return math.MaxInt64 193 } 194 195 func (*StartRecordingRequest2) ControlSessionIdNullValue() int64 { 196 return math.MinInt64 197 } 198 199 func (*StartRecordingRequest2) CorrelationIdId() uint16 { 200 return 2 201 } 202 203 func (*StartRecordingRequest2) CorrelationIdSinceVersion() uint16 { 204 return 0 205 } 206 207 func (s *StartRecordingRequest2) CorrelationIdInActingVersion(actingVersion uint16) bool { 208 return actingVersion >= s.CorrelationIdSinceVersion() 209 } 210 211 func (*StartRecordingRequest2) CorrelationIdDeprecated() uint16 { 212 return 0 213 } 214 215 func (*StartRecordingRequest2) CorrelationIdMetaAttribute(meta int) string { 216 switch meta { 217 case 1: 218 return "" 219 case 2: 220 return "" 221 case 3: 222 return "" 223 case 4: 224 return "required" 225 } 226 return "" 227 } 228 229 func (*StartRecordingRequest2) CorrelationIdMinValue() int64 { 230 return math.MinInt64 + 1 231 } 232 233 func (*StartRecordingRequest2) CorrelationIdMaxValue() int64 { 234 return math.MaxInt64 235 } 236 237 func (*StartRecordingRequest2) CorrelationIdNullValue() int64 { 238 return math.MinInt64 239 } 240 241 func (*StartRecordingRequest2) StreamIdId() uint16 { 242 return 3 243 } 244 245 func (*StartRecordingRequest2) StreamIdSinceVersion() uint16 { 246 return 0 247 } 248 249 func (s *StartRecordingRequest2) StreamIdInActingVersion(actingVersion uint16) bool { 250 return actingVersion >= s.StreamIdSinceVersion() 251 } 252 253 func (*StartRecordingRequest2) StreamIdDeprecated() uint16 { 254 return 0 255 } 256 257 func (*StartRecordingRequest2) StreamIdMetaAttribute(meta int) string { 258 switch meta { 259 case 1: 260 return "" 261 case 2: 262 return "" 263 case 3: 264 return "" 265 case 4: 266 return "required" 267 } 268 return "" 269 } 270 271 func (*StartRecordingRequest2) StreamIdMinValue() int32 { 272 return math.MinInt32 + 1 273 } 274 275 func (*StartRecordingRequest2) StreamIdMaxValue() int32 { 276 return math.MaxInt32 277 } 278 279 func (*StartRecordingRequest2) StreamIdNullValue() int32 { 280 return math.MinInt32 281 } 282 283 func (*StartRecordingRequest2) SourceLocationId() uint16 { 284 return 4 285 } 286 287 func (*StartRecordingRequest2) SourceLocationSinceVersion() uint16 { 288 return 0 289 } 290 291 func (s *StartRecordingRequest2) SourceLocationInActingVersion(actingVersion uint16) bool { 292 return actingVersion >= s.SourceLocationSinceVersion() 293 } 294 295 func (*StartRecordingRequest2) SourceLocationDeprecated() uint16 { 296 return 0 297 } 298 299 func (*StartRecordingRequest2) SourceLocationMetaAttribute(meta int) string { 300 switch meta { 301 case 1: 302 return "" 303 case 2: 304 return "" 305 case 3: 306 return "" 307 case 4: 308 return "required" 309 } 310 return "" 311 } 312 313 func (*StartRecordingRequest2) AutoStopId() uint16 { 314 return 5 315 } 316 317 func (*StartRecordingRequest2) AutoStopSinceVersion() uint16 { 318 return 0 319 } 320 321 func (s *StartRecordingRequest2) AutoStopInActingVersion(actingVersion uint16) bool { 322 return actingVersion >= s.AutoStopSinceVersion() 323 } 324 325 func (*StartRecordingRequest2) AutoStopDeprecated() uint16 { 326 return 0 327 } 328 329 func (*StartRecordingRequest2) AutoStopMetaAttribute(meta int) string { 330 switch meta { 331 case 1: 332 return "" 333 case 2: 334 return "" 335 case 3: 336 return "" 337 case 4: 338 return "required" 339 } 340 return "" 341 } 342 343 func (*StartRecordingRequest2) ChannelMetaAttribute(meta int) string { 344 switch meta { 345 case 1: 346 return "" 347 case 2: 348 return "" 349 case 3: 350 return "" 351 case 4: 352 return "required" 353 } 354 return "" 355 } 356 357 func (*StartRecordingRequest2) ChannelSinceVersion() uint16 { 358 return 0 359 } 360 361 func (s *StartRecordingRequest2) ChannelInActingVersion(actingVersion uint16) bool { 362 return actingVersion >= s.ChannelSinceVersion() 363 } 364 365 func (*StartRecordingRequest2) ChannelDeprecated() uint16 { 366 return 0 367 } 368 369 func (StartRecordingRequest2) ChannelCharacterEncoding() string { 370 return "US-ASCII" 371 } 372 373 func (StartRecordingRequest2) ChannelHeaderLength() uint64 { 374 return 4 375 }