github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/JoinLog.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 JoinLog struct {
    13  	LogPosition    int64
    14  	MaxLogPosition int64
    15  	MemberId       int32
    16  	LogSessionId   int32
    17  	LogStreamId    int32
    18  	IsStartup      BooleanTypeEnum
    19  	Role           int32
    20  	LogChannel     []uint8
    21  }
    22  
    23  func (j *JoinLog) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error {
    24  	if doRangeCheck {
    25  		if err := j.RangeCheck(j.SbeSchemaVersion(), j.SbeSchemaVersion()); err != nil {
    26  			return err
    27  		}
    28  	}
    29  	if err := _m.WriteInt64(_w, j.LogPosition); err != nil {
    30  		return err
    31  	}
    32  	if err := _m.WriteInt64(_w, j.MaxLogPosition); err != nil {
    33  		return err
    34  	}
    35  	if err := _m.WriteInt32(_w, j.MemberId); err != nil {
    36  		return err
    37  	}
    38  	if err := _m.WriteInt32(_w, j.LogSessionId); err != nil {
    39  		return err
    40  	}
    41  	if err := _m.WriteInt32(_w, j.LogStreamId); err != nil {
    42  		return err
    43  	}
    44  	if err := j.IsStartup.Encode(_m, _w); err != nil {
    45  		return err
    46  	}
    47  	if err := _m.WriteInt32(_w, j.Role); err != nil {
    48  		return err
    49  	}
    50  	if err := _m.WriteUint32(_w, uint32(len(j.LogChannel))); err != nil {
    51  		return err
    52  	}
    53  	if err := _m.WriteBytes(_w, j.LogChannel); err != nil {
    54  		return err
    55  	}
    56  	return nil
    57  }
    58  
    59  func (j *JoinLog) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error {
    60  	if !j.LogPositionInActingVersion(actingVersion) {
    61  		j.LogPosition = j.LogPositionNullValue()
    62  	} else {
    63  		if err := _m.ReadInt64(_r, &j.LogPosition); err != nil {
    64  			return err
    65  		}
    66  	}
    67  	if !j.MaxLogPositionInActingVersion(actingVersion) {
    68  		j.MaxLogPosition = j.MaxLogPositionNullValue()
    69  	} else {
    70  		if err := _m.ReadInt64(_r, &j.MaxLogPosition); err != nil {
    71  			return err
    72  		}
    73  	}
    74  	if !j.MemberIdInActingVersion(actingVersion) {
    75  		j.MemberId = j.MemberIdNullValue()
    76  	} else {
    77  		if err := _m.ReadInt32(_r, &j.MemberId); err != nil {
    78  			return err
    79  		}
    80  	}
    81  	if !j.LogSessionIdInActingVersion(actingVersion) {
    82  		j.LogSessionId = j.LogSessionIdNullValue()
    83  	} else {
    84  		if err := _m.ReadInt32(_r, &j.LogSessionId); err != nil {
    85  			return err
    86  		}
    87  	}
    88  	if !j.LogStreamIdInActingVersion(actingVersion) {
    89  		j.LogStreamId = j.LogStreamIdNullValue()
    90  	} else {
    91  		if err := _m.ReadInt32(_r, &j.LogStreamId); err != nil {
    92  			return err
    93  		}
    94  	}
    95  	if j.IsStartupInActingVersion(actingVersion) {
    96  		if err := j.IsStartup.Decode(_m, _r, actingVersion); err != nil {
    97  			return err
    98  		}
    99  	}
   100  	if !j.RoleInActingVersion(actingVersion) {
   101  		j.Role = j.RoleNullValue()
   102  	} else {
   103  		if err := _m.ReadInt32(_r, &j.Role); err != nil {
   104  			return err
   105  		}
   106  	}
   107  	if actingVersion > j.SbeSchemaVersion() && blockLength > j.SbeBlockLength() {
   108  		io.CopyN(ioutil.Discard, _r, int64(blockLength-j.SbeBlockLength()))
   109  	}
   110  
   111  	if j.LogChannelInActingVersion(actingVersion) {
   112  		var LogChannelLength uint32
   113  		if err := _m.ReadUint32(_r, &LogChannelLength); err != nil {
   114  			return err
   115  		}
   116  		if cap(j.LogChannel) < int(LogChannelLength) {
   117  			j.LogChannel = make([]uint8, LogChannelLength)
   118  		}
   119  		j.LogChannel = j.LogChannel[:LogChannelLength]
   120  		if err := _m.ReadBytes(_r, j.LogChannel); err != nil {
   121  			return err
   122  		}
   123  	}
   124  	if doRangeCheck {
   125  		if err := j.RangeCheck(actingVersion, j.SbeSchemaVersion()); err != nil {
   126  			return err
   127  		}
   128  	}
   129  	return nil
   130  }
   131  
   132  func (j *JoinLog) RangeCheck(actingVersion uint16, schemaVersion uint16) error {
   133  	if j.LogPositionInActingVersion(actingVersion) {
   134  		if j.LogPosition < j.LogPositionMinValue() || j.LogPosition > j.LogPositionMaxValue() {
   135  			return fmt.Errorf("Range check failed on j.LogPosition (%v < %v > %v)", j.LogPositionMinValue(), j.LogPosition, j.LogPositionMaxValue())
   136  		}
   137  	}
   138  	if j.MaxLogPositionInActingVersion(actingVersion) {
   139  		if j.MaxLogPosition < j.MaxLogPositionMinValue() || j.MaxLogPosition > j.MaxLogPositionMaxValue() {
   140  			return fmt.Errorf("Range check failed on j.MaxLogPosition (%v < %v > %v)", j.MaxLogPositionMinValue(), j.MaxLogPosition, j.MaxLogPositionMaxValue())
   141  		}
   142  	}
   143  	if j.MemberIdInActingVersion(actingVersion) {
   144  		if j.MemberId < j.MemberIdMinValue() || j.MemberId > j.MemberIdMaxValue() {
   145  			return fmt.Errorf("Range check failed on j.MemberId (%v < %v > %v)", j.MemberIdMinValue(), j.MemberId, j.MemberIdMaxValue())
   146  		}
   147  	}
   148  	if j.LogSessionIdInActingVersion(actingVersion) {
   149  		if j.LogSessionId < j.LogSessionIdMinValue() || j.LogSessionId > j.LogSessionIdMaxValue() {
   150  			return fmt.Errorf("Range check failed on j.LogSessionId (%v < %v > %v)", j.LogSessionIdMinValue(), j.LogSessionId, j.LogSessionIdMaxValue())
   151  		}
   152  	}
   153  	if j.LogStreamIdInActingVersion(actingVersion) {
   154  		if j.LogStreamId < j.LogStreamIdMinValue() || j.LogStreamId > j.LogStreamIdMaxValue() {
   155  			return fmt.Errorf("Range check failed on j.LogStreamId (%v < %v > %v)", j.LogStreamIdMinValue(), j.LogStreamId, j.LogStreamIdMaxValue())
   156  		}
   157  	}
   158  	if err := j.IsStartup.RangeCheck(actingVersion, schemaVersion); err != nil {
   159  		return err
   160  	}
   161  	if j.RoleInActingVersion(actingVersion) {
   162  		if j.Role < j.RoleMinValue() || j.Role > j.RoleMaxValue() {
   163  			return fmt.Errorf("Range check failed on j.Role (%v < %v > %v)", j.RoleMinValue(), j.Role, j.RoleMaxValue())
   164  		}
   165  	}
   166  	for idx, ch := range j.LogChannel {
   167  		if ch > 127 {
   168  			return fmt.Errorf("j.LogChannel[%d]=%d failed ASCII validation", idx, ch)
   169  		}
   170  	}
   171  	return nil
   172  }
   173  
   174  func JoinLogInit(j *JoinLog) {
   175  	return
   176  }
   177  
   178  func (*JoinLog) SbeBlockLength() (blockLength uint16) {
   179  	return 36
   180  }
   181  
   182  func (*JoinLog) SbeTemplateId() (templateId uint16) {
   183  	return 40
   184  }
   185  
   186  func (*JoinLog) SbeSchemaId() (schemaId uint16) {
   187  	return 111
   188  }
   189  
   190  func (*JoinLog) SbeSchemaVersion() (schemaVersion uint16) {
   191  	return 8
   192  }
   193  
   194  func (*JoinLog) SbeSemanticType() (semanticType []byte) {
   195  	return []byte("")
   196  }
   197  
   198  func (*JoinLog) LogPositionId() uint16 {
   199  	return 1
   200  }
   201  
   202  func (*JoinLog) LogPositionSinceVersion() uint16 {
   203  	return 0
   204  }
   205  
   206  func (j *JoinLog) LogPositionInActingVersion(actingVersion uint16) bool {
   207  	return actingVersion >= j.LogPositionSinceVersion()
   208  }
   209  
   210  func (*JoinLog) LogPositionDeprecated() uint16 {
   211  	return 0
   212  }
   213  
   214  func (*JoinLog) LogPositionMetaAttribute(meta int) string {
   215  	switch meta {
   216  	case 1:
   217  		return ""
   218  	case 2:
   219  		return ""
   220  	case 3:
   221  		return ""
   222  	case 4:
   223  		return "required"
   224  	}
   225  	return ""
   226  }
   227  
   228  func (*JoinLog) LogPositionMinValue() int64 {
   229  	return math.MinInt64 + 1
   230  }
   231  
   232  func (*JoinLog) LogPositionMaxValue() int64 {
   233  	return math.MaxInt64
   234  }
   235  
   236  func (*JoinLog) LogPositionNullValue() int64 {
   237  	return math.MinInt64
   238  }
   239  
   240  func (*JoinLog) MaxLogPositionId() uint16 {
   241  	return 2
   242  }
   243  
   244  func (*JoinLog) MaxLogPositionSinceVersion() uint16 {
   245  	return 0
   246  }
   247  
   248  func (j *JoinLog) MaxLogPositionInActingVersion(actingVersion uint16) bool {
   249  	return actingVersion >= j.MaxLogPositionSinceVersion()
   250  }
   251  
   252  func (*JoinLog) MaxLogPositionDeprecated() uint16 {
   253  	return 0
   254  }
   255  
   256  func (*JoinLog) MaxLogPositionMetaAttribute(meta int) string {
   257  	switch meta {
   258  	case 1:
   259  		return ""
   260  	case 2:
   261  		return ""
   262  	case 3:
   263  		return ""
   264  	case 4:
   265  		return "required"
   266  	}
   267  	return ""
   268  }
   269  
   270  func (*JoinLog) MaxLogPositionMinValue() int64 {
   271  	return math.MinInt64 + 1
   272  }
   273  
   274  func (*JoinLog) MaxLogPositionMaxValue() int64 {
   275  	return math.MaxInt64
   276  }
   277  
   278  func (*JoinLog) MaxLogPositionNullValue() int64 {
   279  	return math.MinInt64
   280  }
   281  
   282  func (*JoinLog) MemberIdId() uint16 {
   283  	return 3
   284  }
   285  
   286  func (*JoinLog) MemberIdSinceVersion() uint16 {
   287  	return 0
   288  }
   289  
   290  func (j *JoinLog) MemberIdInActingVersion(actingVersion uint16) bool {
   291  	return actingVersion >= j.MemberIdSinceVersion()
   292  }
   293  
   294  func (*JoinLog) MemberIdDeprecated() uint16 {
   295  	return 0
   296  }
   297  
   298  func (*JoinLog) MemberIdMetaAttribute(meta int) string {
   299  	switch meta {
   300  	case 1:
   301  		return ""
   302  	case 2:
   303  		return ""
   304  	case 3:
   305  		return ""
   306  	case 4:
   307  		return "required"
   308  	}
   309  	return ""
   310  }
   311  
   312  func (*JoinLog) MemberIdMinValue() int32 {
   313  	return math.MinInt32 + 1
   314  }
   315  
   316  func (*JoinLog) MemberIdMaxValue() int32 {
   317  	return math.MaxInt32
   318  }
   319  
   320  func (*JoinLog) MemberIdNullValue() int32 {
   321  	return math.MinInt32
   322  }
   323  
   324  func (*JoinLog) LogSessionIdId() uint16 {
   325  	return 4
   326  }
   327  
   328  func (*JoinLog) LogSessionIdSinceVersion() uint16 {
   329  	return 0
   330  }
   331  
   332  func (j *JoinLog) LogSessionIdInActingVersion(actingVersion uint16) bool {
   333  	return actingVersion >= j.LogSessionIdSinceVersion()
   334  }
   335  
   336  func (*JoinLog) LogSessionIdDeprecated() uint16 {
   337  	return 0
   338  }
   339  
   340  func (*JoinLog) LogSessionIdMetaAttribute(meta int) string {
   341  	switch meta {
   342  	case 1:
   343  		return ""
   344  	case 2:
   345  		return ""
   346  	case 3:
   347  		return ""
   348  	case 4:
   349  		return "required"
   350  	}
   351  	return ""
   352  }
   353  
   354  func (*JoinLog) LogSessionIdMinValue() int32 {
   355  	return math.MinInt32 + 1
   356  }
   357  
   358  func (*JoinLog) LogSessionIdMaxValue() int32 {
   359  	return math.MaxInt32
   360  }
   361  
   362  func (*JoinLog) LogSessionIdNullValue() int32 {
   363  	return math.MinInt32
   364  }
   365  
   366  func (*JoinLog) LogStreamIdId() uint16 {
   367  	return 5
   368  }
   369  
   370  func (*JoinLog) LogStreamIdSinceVersion() uint16 {
   371  	return 0
   372  }
   373  
   374  func (j *JoinLog) LogStreamIdInActingVersion(actingVersion uint16) bool {
   375  	return actingVersion >= j.LogStreamIdSinceVersion()
   376  }
   377  
   378  func (*JoinLog) LogStreamIdDeprecated() uint16 {
   379  	return 0
   380  }
   381  
   382  func (*JoinLog) LogStreamIdMetaAttribute(meta int) string {
   383  	switch meta {
   384  	case 1:
   385  		return ""
   386  	case 2:
   387  		return ""
   388  	case 3:
   389  		return ""
   390  	case 4:
   391  		return "required"
   392  	}
   393  	return ""
   394  }
   395  
   396  func (*JoinLog) LogStreamIdMinValue() int32 {
   397  	return math.MinInt32 + 1
   398  }
   399  
   400  func (*JoinLog) LogStreamIdMaxValue() int32 {
   401  	return math.MaxInt32
   402  }
   403  
   404  func (*JoinLog) LogStreamIdNullValue() int32 {
   405  	return math.MinInt32
   406  }
   407  
   408  func (*JoinLog) IsStartupId() uint16 {
   409  	return 6
   410  }
   411  
   412  func (*JoinLog) IsStartupSinceVersion() uint16 {
   413  	return 0
   414  }
   415  
   416  func (j *JoinLog) IsStartupInActingVersion(actingVersion uint16) bool {
   417  	return actingVersion >= j.IsStartupSinceVersion()
   418  }
   419  
   420  func (*JoinLog) IsStartupDeprecated() uint16 {
   421  	return 0
   422  }
   423  
   424  func (*JoinLog) IsStartupMetaAttribute(meta int) string {
   425  	switch meta {
   426  	case 1:
   427  		return ""
   428  	case 2:
   429  		return ""
   430  	case 3:
   431  		return ""
   432  	case 4:
   433  		return "required"
   434  	}
   435  	return ""
   436  }
   437  
   438  func (*JoinLog) RoleId() uint16 {
   439  	return 7
   440  }
   441  
   442  func (*JoinLog) RoleSinceVersion() uint16 {
   443  	return 0
   444  }
   445  
   446  func (j *JoinLog) RoleInActingVersion(actingVersion uint16) bool {
   447  	return actingVersion >= j.RoleSinceVersion()
   448  }
   449  
   450  func (*JoinLog) RoleDeprecated() uint16 {
   451  	return 0
   452  }
   453  
   454  func (*JoinLog) RoleMetaAttribute(meta int) string {
   455  	switch meta {
   456  	case 1:
   457  		return ""
   458  	case 2:
   459  		return ""
   460  	case 3:
   461  		return ""
   462  	case 4:
   463  		return "required"
   464  	}
   465  	return ""
   466  }
   467  
   468  func (*JoinLog) RoleMinValue() int32 {
   469  	return math.MinInt32 + 1
   470  }
   471  
   472  func (*JoinLog) RoleMaxValue() int32 {
   473  	return math.MaxInt32
   474  }
   475  
   476  func (*JoinLog) RoleNullValue() int32 {
   477  	return math.MinInt32
   478  }
   479  
   480  func (*JoinLog) LogChannelMetaAttribute(meta int) string {
   481  	switch meta {
   482  	case 1:
   483  		return ""
   484  	case 2:
   485  		return ""
   486  	case 3:
   487  		return ""
   488  	case 4:
   489  		return "required"
   490  	}
   491  	return ""
   492  }
   493  
   494  func (*JoinLog) LogChannelSinceVersion() uint16 {
   495  	return 0
   496  }
   497  
   498  func (j *JoinLog) LogChannelInActingVersion(actingVersion uint16) bool {
   499  	return actingVersion >= j.LogChannelSinceVersion()
   500  }
   501  
   502  func (*JoinLog) LogChannelDeprecated() uint16 {
   503  	return 0
   504  }
   505  
   506  func (JoinLog) LogChannelCharacterEncoding() string {
   507  	return "US-ASCII"
   508  }
   509  
   510  func (JoinLog) LogChannelHeaderLength() uint64 {
   511  	return 4
   512  }