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  }