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