github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/ServiceAck.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 ServiceAck struct { 13 LogPosition int64 14 Timestamp int64 15 AckId int64 16 RelevantId int64 17 ServiceId int32 18 } 19 20 func (s *ServiceAck) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error { 21 if doRangeCheck { 22 if err := s.RangeCheck(s.SbeSchemaVersion(), s.SbeSchemaVersion()); err != nil { 23 return err 24 } 25 } 26 if err := _m.WriteInt64(_w, s.LogPosition); err != nil { 27 return err 28 } 29 if err := _m.WriteInt64(_w, s.Timestamp); err != nil { 30 return err 31 } 32 if err := _m.WriteInt64(_w, s.AckId); err != nil { 33 return err 34 } 35 if err := _m.WriteInt64(_w, s.RelevantId); err != nil { 36 return err 37 } 38 if err := _m.WriteInt32(_w, s.ServiceId); err != nil { 39 return err 40 } 41 return nil 42 } 43 44 func (s *ServiceAck) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error { 45 if !s.LogPositionInActingVersion(actingVersion) { 46 s.LogPosition = s.LogPositionNullValue() 47 } else { 48 if err := _m.ReadInt64(_r, &s.LogPosition); err != nil { 49 return err 50 } 51 } 52 if !s.TimestampInActingVersion(actingVersion) { 53 s.Timestamp = s.TimestampNullValue() 54 } else { 55 if err := _m.ReadInt64(_r, &s.Timestamp); err != nil { 56 return err 57 } 58 } 59 if !s.AckIdInActingVersion(actingVersion) { 60 s.AckId = s.AckIdNullValue() 61 } else { 62 if err := _m.ReadInt64(_r, &s.AckId); err != nil { 63 return err 64 } 65 } 66 if !s.RelevantIdInActingVersion(actingVersion) { 67 s.RelevantId = s.RelevantIdNullValue() 68 } else { 69 if err := _m.ReadInt64(_r, &s.RelevantId); err != nil { 70 return err 71 } 72 } 73 if !s.ServiceIdInActingVersion(actingVersion) { 74 s.ServiceId = s.ServiceIdNullValue() 75 } else { 76 if err := _m.ReadInt32(_r, &s.ServiceId); err != nil { 77 return err 78 } 79 } 80 if actingVersion > s.SbeSchemaVersion() && blockLength > s.SbeBlockLength() { 81 io.CopyN(ioutil.Discard, _r, int64(blockLength-s.SbeBlockLength())) 82 } 83 if doRangeCheck { 84 if err := s.RangeCheck(actingVersion, s.SbeSchemaVersion()); err != nil { 85 return err 86 } 87 } 88 return nil 89 } 90 91 func (s *ServiceAck) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 92 if s.LogPositionInActingVersion(actingVersion) { 93 if s.LogPosition < s.LogPositionMinValue() || s.LogPosition > s.LogPositionMaxValue() { 94 return fmt.Errorf("Range check failed on s.LogPosition (%v < %v > %v)", s.LogPositionMinValue(), s.LogPosition, s.LogPositionMaxValue()) 95 } 96 } 97 if s.TimestampInActingVersion(actingVersion) { 98 if s.Timestamp < s.TimestampMinValue() || s.Timestamp > s.TimestampMaxValue() { 99 return fmt.Errorf("Range check failed on s.Timestamp (%v < %v > %v)", s.TimestampMinValue(), s.Timestamp, s.TimestampMaxValue()) 100 } 101 } 102 if s.AckIdInActingVersion(actingVersion) { 103 if s.AckId < s.AckIdMinValue() || s.AckId > s.AckIdMaxValue() { 104 return fmt.Errorf("Range check failed on s.AckId (%v < %v > %v)", s.AckIdMinValue(), s.AckId, s.AckIdMaxValue()) 105 } 106 } 107 if s.RelevantIdInActingVersion(actingVersion) { 108 if s.RelevantId < s.RelevantIdMinValue() || s.RelevantId > s.RelevantIdMaxValue() { 109 return fmt.Errorf("Range check failed on s.RelevantId (%v < %v > %v)", s.RelevantIdMinValue(), s.RelevantId, s.RelevantIdMaxValue()) 110 } 111 } 112 if s.ServiceIdInActingVersion(actingVersion) { 113 if s.ServiceId < s.ServiceIdMinValue() || s.ServiceId > s.ServiceIdMaxValue() { 114 return fmt.Errorf("Range check failed on s.ServiceId (%v < %v > %v)", s.ServiceIdMinValue(), s.ServiceId, s.ServiceIdMaxValue()) 115 } 116 } 117 return nil 118 } 119 120 func ServiceAckInit(s *ServiceAck) { 121 return 122 } 123 124 func (*ServiceAck) SbeBlockLength() (blockLength uint16) { 125 return 36 126 } 127 128 func (*ServiceAck) SbeTemplateId() (templateId uint16) { 129 return 33 130 } 131 132 func (*ServiceAck) SbeSchemaId() (schemaId uint16) { 133 return 111 134 } 135 136 func (*ServiceAck) SbeSchemaVersion() (schemaVersion uint16) { 137 return 8 138 } 139 140 func (*ServiceAck) SbeSemanticType() (semanticType []byte) { 141 return []byte("") 142 } 143 144 func (*ServiceAck) LogPositionId() uint16 { 145 return 1 146 } 147 148 func (*ServiceAck) LogPositionSinceVersion() uint16 { 149 return 0 150 } 151 152 func (s *ServiceAck) LogPositionInActingVersion(actingVersion uint16) bool { 153 return actingVersion >= s.LogPositionSinceVersion() 154 } 155 156 func (*ServiceAck) LogPositionDeprecated() uint16 { 157 return 0 158 } 159 160 func (*ServiceAck) LogPositionMetaAttribute(meta int) string { 161 switch meta { 162 case 1: 163 return "" 164 case 2: 165 return "" 166 case 3: 167 return "" 168 case 4: 169 return "required" 170 } 171 return "" 172 } 173 174 func (*ServiceAck) LogPositionMinValue() int64 { 175 return math.MinInt64 + 1 176 } 177 178 func (*ServiceAck) LogPositionMaxValue() int64 { 179 return math.MaxInt64 180 } 181 182 func (*ServiceAck) LogPositionNullValue() int64 { 183 return math.MinInt64 184 } 185 186 func (*ServiceAck) TimestampId() uint16 { 187 return 2 188 } 189 190 func (*ServiceAck) TimestampSinceVersion() uint16 { 191 return 0 192 } 193 194 func (s *ServiceAck) TimestampInActingVersion(actingVersion uint16) bool { 195 return actingVersion >= s.TimestampSinceVersion() 196 } 197 198 func (*ServiceAck) TimestampDeprecated() uint16 { 199 return 0 200 } 201 202 func (*ServiceAck) TimestampMetaAttribute(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 (*ServiceAck) TimestampMinValue() int64 { 217 return math.MinInt64 + 1 218 } 219 220 func (*ServiceAck) TimestampMaxValue() int64 { 221 return math.MaxInt64 222 } 223 224 func (*ServiceAck) TimestampNullValue() int64 { 225 return math.MinInt64 226 } 227 228 func (*ServiceAck) AckIdId() uint16 { 229 return 3 230 } 231 232 func (*ServiceAck) AckIdSinceVersion() uint16 { 233 return 0 234 } 235 236 func (s *ServiceAck) AckIdInActingVersion(actingVersion uint16) bool { 237 return actingVersion >= s.AckIdSinceVersion() 238 } 239 240 func (*ServiceAck) AckIdDeprecated() uint16 { 241 return 0 242 } 243 244 func (*ServiceAck) AckIdMetaAttribute(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 (*ServiceAck) AckIdMinValue() int64 { 259 return math.MinInt64 + 1 260 } 261 262 func (*ServiceAck) AckIdMaxValue() int64 { 263 return math.MaxInt64 264 } 265 266 func (*ServiceAck) AckIdNullValue() int64 { 267 return math.MinInt64 268 } 269 270 func (*ServiceAck) RelevantIdId() uint16 { 271 return 4 272 } 273 274 func (*ServiceAck) RelevantIdSinceVersion() uint16 { 275 return 0 276 } 277 278 func (s *ServiceAck) RelevantIdInActingVersion(actingVersion uint16) bool { 279 return actingVersion >= s.RelevantIdSinceVersion() 280 } 281 282 func (*ServiceAck) RelevantIdDeprecated() uint16 { 283 return 0 284 } 285 286 func (*ServiceAck) RelevantIdMetaAttribute(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 (*ServiceAck) RelevantIdMinValue() int64 { 301 return math.MinInt64 + 1 302 } 303 304 func (*ServiceAck) RelevantIdMaxValue() int64 { 305 return math.MaxInt64 306 } 307 308 func (*ServiceAck) RelevantIdNullValue() int64 { 309 return math.MinInt64 310 } 311 312 func (*ServiceAck) ServiceIdId() uint16 { 313 return 5 314 } 315 316 func (*ServiceAck) ServiceIdSinceVersion() uint16 { 317 return 0 318 } 319 320 func (s *ServiceAck) ServiceIdInActingVersion(actingVersion uint16) bool { 321 return actingVersion >= s.ServiceIdSinceVersion() 322 } 323 324 func (*ServiceAck) ServiceIdDeprecated() uint16 { 325 return 0 326 } 327 328 func (*ServiceAck) ServiceIdMetaAttribute(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 (*ServiceAck) ServiceIdMinValue() int32 { 343 return math.MinInt32 + 1 344 } 345 346 func (*ServiceAck) ServiceIdMaxValue() int32 { 347 return math.MaxInt32 348 } 349 350 func (*ServiceAck) ServiceIdNullValue() int32 { 351 return math.MinInt32 352 }