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  }