github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/archive/codecs/RecordingSubscriptionDescriptor.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 RecordingSubscriptionDescriptor struct { 13 ControlSessionId int64 14 CorrelationId int64 15 SubscriptionId int64 16 StreamId int32 17 StrippedChannel []uint8 18 } 19 20 func (r *RecordingSubscriptionDescriptor) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error { 21 if doRangeCheck { 22 if err := r.RangeCheck(r.SbeSchemaVersion(), r.SbeSchemaVersion()); err != nil { 23 return err 24 } 25 } 26 if err := _m.WriteInt64(_w, r.ControlSessionId); err != nil { 27 return err 28 } 29 if err := _m.WriteInt64(_w, r.CorrelationId); err != nil { 30 return err 31 } 32 if err := _m.WriteInt64(_w, r.SubscriptionId); err != nil { 33 return err 34 } 35 if err := _m.WriteInt32(_w, r.StreamId); err != nil { 36 return err 37 } 38 if err := _m.WriteUint32(_w, uint32(len(r.StrippedChannel))); err != nil { 39 return err 40 } 41 if err := _m.WriteBytes(_w, r.StrippedChannel); err != nil { 42 return err 43 } 44 return nil 45 } 46 47 func (r *RecordingSubscriptionDescriptor) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error { 48 if !r.ControlSessionIdInActingVersion(actingVersion) { 49 r.ControlSessionId = r.ControlSessionIdNullValue() 50 } else { 51 if err := _m.ReadInt64(_r, &r.ControlSessionId); err != nil { 52 return err 53 } 54 } 55 if !r.CorrelationIdInActingVersion(actingVersion) { 56 r.CorrelationId = r.CorrelationIdNullValue() 57 } else { 58 if err := _m.ReadInt64(_r, &r.CorrelationId); err != nil { 59 return err 60 } 61 } 62 if !r.SubscriptionIdInActingVersion(actingVersion) { 63 r.SubscriptionId = r.SubscriptionIdNullValue() 64 } else { 65 if err := _m.ReadInt64(_r, &r.SubscriptionId); err != nil { 66 return err 67 } 68 } 69 if !r.StreamIdInActingVersion(actingVersion) { 70 r.StreamId = r.StreamIdNullValue() 71 } else { 72 if err := _m.ReadInt32(_r, &r.StreamId); err != nil { 73 return err 74 } 75 } 76 if actingVersion > r.SbeSchemaVersion() && blockLength > r.SbeBlockLength() { 77 io.CopyN(ioutil.Discard, _r, int64(blockLength-r.SbeBlockLength())) 78 } 79 80 if r.StrippedChannelInActingVersion(actingVersion) { 81 var StrippedChannelLength uint32 82 if err := _m.ReadUint32(_r, &StrippedChannelLength); err != nil { 83 return err 84 } 85 if cap(r.StrippedChannel) < int(StrippedChannelLength) { 86 r.StrippedChannel = make([]uint8, StrippedChannelLength) 87 } 88 r.StrippedChannel = r.StrippedChannel[:StrippedChannelLength] 89 if err := _m.ReadBytes(_r, r.StrippedChannel); err != nil { 90 return err 91 } 92 } 93 if doRangeCheck { 94 if err := r.RangeCheck(actingVersion, r.SbeSchemaVersion()); err != nil { 95 return err 96 } 97 } 98 return nil 99 } 100 101 func (r *RecordingSubscriptionDescriptor) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 102 if r.ControlSessionIdInActingVersion(actingVersion) { 103 if r.ControlSessionId < r.ControlSessionIdMinValue() || r.ControlSessionId > r.ControlSessionIdMaxValue() { 104 return fmt.Errorf("Range check failed on r.ControlSessionId (%v < %v > %v)", r.ControlSessionIdMinValue(), r.ControlSessionId, r.ControlSessionIdMaxValue()) 105 } 106 } 107 if r.CorrelationIdInActingVersion(actingVersion) { 108 if r.CorrelationId < r.CorrelationIdMinValue() || r.CorrelationId > r.CorrelationIdMaxValue() { 109 return fmt.Errorf("Range check failed on r.CorrelationId (%v < %v > %v)", r.CorrelationIdMinValue(), r.CorrelationId, r.CorrelationIdMaxValue()) 110 } 111 } 112 if r.SubscriptionIdInActingVersion(actingVersion) { 113 if r.SubscriptionId < r.SubscriptionIdMinValue() || r.SubscriptionId > r.SubscriptionIdMaxValue() { 114 return fmt.Errorf("Range check failed on r.SubscriptionId (%v < %v > %v)", r.SubscriptionIdMinValue(), r.SubscriptionId, r.SubscriptionIdMaxValue()) 115 } 116 } 117 if r.StreamIdInActingVersion(actingVersion) { 118 if r.StreamId < r.StreamIdMinValue() || r.StreamId > r.StreamIdMaxValue() { 119 return fmt.Errorf("Range check failed on r.StreamId (%v < %v > %v)", r.StreamIdMinValue(), r.StreamId, r.StreamIdMaxValue()) 120 } 121 } 122 return nil 123 } 124 125 func RecordingSubscriptionDescriptorInit(r *RecordingSubscriptionDescriptor) { 126 return 127 } 128 129 func (*RecordingSubscriptionDescriptor) SbeBlockLength() (blockLength uint16) { 130 return 28 131 } 132 133 func (*RecordingSubscriptionDescriptor) SbeTemplateId() (templateId uint16) { 134 return 23 135 } 136 137 func (*RecordingSubscriptionDescriptor) SbeSchemaId() (schemaId uint16) { 138 return 101 139 } 140 141 func (*RecordingSubscriptionDescriptor) SbeSchemaVersion() (schemaVersion uint16) { 142 return 6 143 } 144 145 func (*RecordingSubscriptionDescriptor) SbeSemanticType() (semanticType []byte) { 146 return []byte("") 147 } 148 149 func (*RecordingSubscriptionDescriptor) ControlSessionIdId() uint16 { 150 return 1 151 } 152 153 func (*RecordingSubscriptionDescriptor) ControlSessionIdSinceVersion() uint16 { 154 return 0 155 } 156 157 func (r *RecordingSubscriptionDescriptor) ControlSessionIdInActingVersion(actingVersion uint16) bool { 158 return actingVersion >= r.ControlSessionIdSinceVersion() 159 } 160 161 func (*RecordingSubscriptionDescriptor) ControlSessionIdDeprecated() uint16 { 162 return 0 163 } 164 165 func (*RecordingSubscriptionDescriptor) ControlSessionIdMetaAttribute(meta int) string { 166 switch meta { 167 case 1: 168 return "" 169 case 2: 170 return "" 171 case 3: 172 return "" 173 case 4: 174 return "required" 175 } 176 return "" 177 } 178 179 func (*RecordingSubscriptionDescriptor) ControlSessionIdMinValue() int64 { 180 return math.MinInt64 + 1 181 } 182 183 func (*RecordingSubscriptionDescriptor) ControlSessionIdMaxValue() int64 { 184 return math.MaxInt64 185 } 186 187 func (*RecordingSubscriptionDescriptor) ControlSessionIdNullValue() int64 { 188 return math.MinInt64 189 } 190 191 func (*RecordingSubscriptionDescriptor) CorrelationIdId() uint16 { 192 return 2 193 } 194 195 func (*RecordingSubscriptionDescriptor) CorrelationIdSinceVersion() uint16 { 196 return 0 197 } 198 199 func (r *RecordingSubscriptionDescriptor) CorrelationIdInActingVersion(actingVersion uint16) bool { 200 return actingVersion >= r.CorrelationIdSinceVersion() 201 } 202 203 func (*RecordingSubscriptionDescriptor) CorrelationIdDeprecated() uint16 { 204 return 0 205 } 206 207 func (*RecordingSubscriptionDescriptor) CorrelationIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) CorrelationIdMinValue() int64 { 222 return math.MinInt64 + 1 223 } 224 225 func (*RecordingSubscriptionDescriptor) CorrelationIdMaxValue() int64 { 226 return math.MaxInt64 227 } 228 229 func (*RecordingSubscriptionDescriptor) CorrelationIdNullValue() int64 { 230 return math.MinInt64 231 } 232 233 func (*RecordingSubscriptionDescriptor) SubscriptionIdId() uint16 { 234 return 3 235 } 236 237 func (*RecordingSubscriptionDescriptor) SubscriptionIdSinceVersion() uint16 { 238 return 0 239 } 240 241 func (r *RecordingSubscriptionDescriptor) SubscriptionIdInActingVersion(actingVersion uint16) bool { 242 return actingVersion >= r.SubscriptionIdSinceVersion() 243 } 244 245 func (*RecordingSubscriptionDescriptor) SubscriptionIdDeprecated() uint16 { 246 return 0 247 } 248 249 func (*RecordingSubscriptionDescriptor) SubscriptionIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) SubscriptionIdMinValue() int64 { 264 return math.MinInt64 + 1 265 } 266 267 func (*RecordingSubscriptionDescriptor) SubscriptionIdMaxValue() int64 { 268 return math.MaxInt64 269 } 270 271 func (*RecordingSubscriptionDescriptor) SubscriptionIdNullValue() int64 { 272 return math.MinInt64 273 } 274 275 func (*RecordingSubscriptionDescriptor) StreamIdId() uint16 { 276 return 4 277 } 278 279 func (*RecordingSubscriptionDescriptor) StreamIdSinceVersion() uint16 { 280 return 0 281 } 282 283 func (r *RecordingSubscriptionDescriptor) StreamIdInActingVersion(actingVersion uint16) bool { 284 return actingVersion >= r.StreamIdSinceVersion() 285 } 286 287 func (*RecordingSubscriptionDescriptor) StreamIdDeprecated() uint16 { 288 return 0 289 } 290 291 func (*RecordingSubscriptionDescriptor) StreamIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) StreamIdMinValue() int32 { 306 return math.MinInt32 + 1 307 } 308 309 func (*RecordingSubscriptionDescriptor) StreamIdMaxValue() int32 { 310 return math.MaxInt32 311 } 312 313 func (*RecordingSubscriptionDescriptor) StreamIdNullValue() int32 { 314 return math.MinInt32 315 } 316 317 func (*RecordingSubscriptionDescriptor) StrippedChannelMetaAttribute(meta int) string { 318 switch meta { 319 case 1: 320 return "" 321 case 2: 322 return "" 323 case 3: 324 return "" 325 case 4: 326 return "required" 327 } 328 return "" 329 } 330 331 func (*RecordingSubscriptionDescriptor) StrippedChannelSinceVersion() uint16 { 332 return 0 333 } 334 335 func (r *RecordingSubscriptionDescriptor) StrippedChannelInActingVersion(actingVersion uint16) bool { 336 return actingVersion >= r.StrippedChannelSinceVersion() 337 } 338 339 func (*RecordingSubscriptionDescriptor) StrippedChannelDeprecated() uint16 { 340 return 0 341 } 342 343 func (RecordingSubscriptionDescriptor) StrippedChannelCharacterEncoding() string { 344 return "US-ASCII" 345 } 346 347 func (RecordingSubscriptionDescriptor) StrippedChannelHeaderLength() uint64 { 348 return 4 349 }