github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/AdminResponse.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 AdminResponse struct {
    13  	ClusterSessionId int64
    14  	CorrelationId    int64
    15  	RequestType      AdminRequestTypeEnum
    16  	ResponseCode     AdminResponseCodeEnum
    17  	Message          []uint8
    18  	Payload          []uint8
    19  }
    20  
    21  func (a *AdminResponse) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error {
    22  	if doRangeCheck {
    23  		if err := a.RangeCheck(a.SbeSchemaVersion(), a.SbeSchemaVersion()); err != nil {
    24  			return err
    25  		}
    26  	}
    27  	if err := _m.WriteInt64(_w, a.ClusterSessionId); err != nil {
    28  		return err
    29  	}
    30  	if err := _m.WriteInt64(_w, a.CorrelationId); err != nil {
    31  		return err
    32  	}
    33  	if err := a.RequestType.Encode(_m, _w); err != nil {
    34  		return err
    35  	}
    36  	if err := a.ResponseCode.Encode(_m, _w); err != nil {
    37  		return err
    38  	}
    39  	if err := _m.WriteUint32(_w, uint32(len(a.Message))); err != nil {
    40  		return err
    41  	}
    42  	if err := _m.WriteBytes(_w, a.Message); err != nil {
    43  		return err
    44  	}
    45  	if err := _m.WriteUint32(_w, uint32(len(a.Payload))); err != nil {
    46  		return err
    47  	}
    48  	if err := _m.WriteBytes(_w, a.Payload); err != nil {
    49  		return err
    50  	}
    51  	return nil
    52  }
    53  
    54  func (a *AdminResponse) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error {
    55  	if !a.ClusterSessionIdInActingVersion(actingVersion) {
    56  		a.ClusterSessionId = a.ClusterSessionIdNullValue()
    57  	} else {
    58  		if err := _m.ReadInt64(_r, &a.ClusterSessionId); err != nil {
    59  			return err
    60  		}
    61  	}
    62  	if !a.CorrelationIdInActingVersion(actingVersion) {
    63  		a.CorrelationId = a.CorrelationIdNullValue()
    64  	} else {
    65  		if err := _m.ReadInt64(_r, &a.CorrelationId); err != nil {
    66  			return err
    67  		}
    68  	}
    69  	if a.RequestTypeInActingVersion(actingVersion) {
    70  		if err := a.RequestType.Decode(_m, _r, actingVersion); err != nil {
    71  			return err
    72  		}
    73  	}
    74  	if a.ResponseCodeInActingVersion(actingVersion) {
    75  		if err := a.ResponseCode.Decode(_m, _r, actingVersion); err != nil {
    76  			return err
    77  		}
    78  	}
    79  	if actingVersion > a.SbeSchemaVersion() && blockLength > a.SbeBlockLength() {
    80  		io.CopyN(ioutil.Discard, _r, int64(blockLength-a.SbeBlockLength()))
    81  	}
    82  
    83  	if a.MessageInActingVersion(actingVersion) {
    84  		var MessageLength uint32
    85  		if err := _m.ReadUint32(_r, &MessageLength); err != nil {
    86  			return err
    87  		}
    88  		if cap(a.Message) < int(MessageLength) {
    89  			a.Message = make([]uint8, MessageLength)
    90  		}
    91  		a.Message = a.Message[:MessageLength]
    92  		if err := _m.ReadBytes(_r, a.Message); err != nil {
    93  			return err
    94  		}
    95  	}
    96  
    97  	if a.PayloadInActingVersion(actingVersion) {
    98  		var PayloadLength uint32
    99  		if err := _m.ReadUint32(_r, &PayloadLength); err != nil {
   100  			return err
   101  		}
   102  		if cap(a.Payload) < int(PayloadLength) {
   103  			a.Payload = make([]uint8, PayloadLength)
   104  		}
   105  		a.Payload = a.Payload[:PayloadLength]
   106  		if err := _m.ReadBytes(_r, a.Payload); err != nil {
   107  			return err
   108  		}
   109  	}
   110  	if doRangeCheck {
   111  		if err := a.RangeCheck(actingVersion, a.SbeSchemaVersion()); err != nil {
   112  			return err
   113  		}
   114  	}
   115  	return nil
   116  }
   117  
   118  func (a *AdminResponse) RangeCheck(actingVersion uint16, schemaVersion uint16) error {
   119  	if a.ClusterSessionIdInActingVersion(actingVersion) {
   120  		if a.ClusterSessionId < a.ClusterSessionIdMinValue() || a.ClusterSessionId > a.ClusterSessionIdMaxValue() {
   121  			return fmt.Errorf("Range check failed on a.ClusterSessionId (%v < %v > %v)", a.ClusterSessionIdMinValue(), a.ClusterSessionId, a.ClusterSessionIdMaxValue())
   122  		}
   123  	}
   124  	if a.CorrelationIdInActingVersion(actingVersion) {
   125  		if a.CorrelationId < a.CorrelationIdMinValue() || a.CorrelationId > a.CorrelationIdMaxValue() {
   126  			return fmt.Errorf("Range check failed on a.CorrelationId (%v < %v > %v)", a.CorrelationIdMinValue(), a.CorrelationId, a.CorrelationIdMaxValue())
   127  		}
   128  	}
   129  	if err := a.RequestType.RangeCheck(actingVersion, schemaVersion); err != nil {
   130  		return err
   131  	}
   132  	if err := a.ResponseCode.RangeCheck(actingVersion, schemaVersion); err != nil {
   133  		return err
   134  	}
   135  	for idx, ch := range a.Message {
   136  		if ch > 127 {
   137  			return fmt.Errorf("a.Message[%d]=%d failed ASCII validation", idx, ch)
   138  		}
   139  	}
   140  	return nil
   141  }
   142  
   143  func AdminResponseInit(a *AdminResponse) {
   144  	return
   145  }
   146  
   147  func (*AdminResponse) SbeBlockLength() (blockLength uint16) {
   148  	return 24
   149  }
   150  
   151  func (*AdminResponse) SbeTemplateId() (templateId uint16) {
   152  	return 27
   153  }
   154  
   155  func (*AdminResponse) SbeSchemaId() (schemaId uint16) {
   156  	return 111
   157  }
   158  
   159  func (*AdminResponse) SbeSchemaVersion() (schemaVersion uint16) {
   160  	return 8
   161  }
   162  
   163  func (*AdminResponse) SbeSemanticType() (semanticType []byte) {
   164  	return []byte("")
   165  }
   166  
   167  func (*AdminResponse) ClusterSessionIdId() uint16 {
   168  	return 1
   169  }
   170  
   171  func (*AdminResponse) ClusterSessionIdSinceVersion() uint16 {
   172  	return 0
   173  }
   174  
   175  func (a *AdminResponse) ClusterSessionIdInActingVersion(actingVersion uint16) bool {
   176  	return actingVersion >= a.ClusterSessionIdSinceVersion()
   177  }
   178  
   179  func (*AdminResponse) ClusterSessionIdDeprecated() uint16 {
   180  	return 0
   181  }
   182  
   183  func (*AdminResponse) ClusterSessionIdMetaAttribute(meta int) string {
   184  	switch meta {
   185  	case 1:
   186  		return ""
   187  	case 2:
   188  		return ""
   189  	case 3:
   190  		return ""
   191  	case 4:
   192  		return "required"
   193  	}
   194  	return ""
   195  }
   196  
   197  func (*AdminResponse) ClusterSessionIdMinValue() int64 {
   198  	return math.MinInt64 + 1
   199  }
   200  
   201  func (*AdminResponse) ClusterSessionIdMaxValue() int64 {
   202  	return math.MaxInt64
   203  }
   204  
   205  func (*AdminResponse) ClusterSessionIdNullValue() int64 {
   206  	return math.MinInt64
   207  }
   208  
   209  func (*AdminResponse) CorrelationIdId() uint16 {
   210  	return 2
   211  }
   212  
   213  func (*AdminResponse) CorrelationIdSinceVersion() uint16 {
   214  	return 0
   215  }
   216  
   217  func (a *AdminResponse) CorrelationIdInActingVersion(actingVersion uint16) bool {
   218  	return actingVersion >= a.CorrelationIdSinceVersion()
   219  }
   220  
   221  func (*AdminResponse) CorrelationIdDeprecated() uint16 {
   222  	return 0
   223  }
   224  
   225  func (*AdminResponse) CorrelationIdMetaAttribute(meta int) string {
   226  	switch meta {
   227  	case 1:
   228  		return ""
   229  	case 2:
   230  		return ""
   231  	case 3:
   232  		return ""
   233  	case 4:
   234  		return "required"
   235  	}
   236  	return ""
   237  }
   238  
   239  func (*AdminResponse) CorrelationIdMinValue() int64 {
   240  	return math.MinInt64 + 1
   241  }
   242  
   243  func (*AdminResponse) CorrelationIdMaxValue() int64 {
   244  	return math.MaxInt64
   245  }
   246  
   247  func (*AdminResponse) CorrelationIdNullValue() int64 {
   248  	return math.MinInt64
   249  }
   250  
   251  func (*AdminResponse) RequestTypeId() uint16 {
   252  	return 3
   253  }
   254  
   255  func (*AdminResponse) RequestTypeSinceVersion() uint16 {
   256  	return 0
   257  }
   258  
   259  func (a *AdminResponse) RequestTypeInActingVersion(actingVersion uint16) bool {
   260  	return actingVersion >= a.RequestTypeSinceVersion()
   261  }
   262  
   263  func (*AdminResponse) RequestTypeDeprecated() uint16 {
   264  	return 0
   265  }
   266  
   267  func (*AdminResponse) RequestTypeMetaAttribute(meta int) string {
   268  	switch meta {
   269  	case 1:
   270  		return ""
   271  	case 2:
   272  		return ""
   273  	case 3:
   274  		return ""
   275  	case 4:
   276  		return "required"
   277  	}
   278  	return ""
   279  }
   280  
   281  func (*AdminResponse) ResponseCodeId() uint16 {
   282  	return 4
   283  }
   284  
   285  func (*AdminResponse) ResponseCodeSinceVersion() uint16 {
   286  	return 0
   287  }
   288  
   289  func (a *AdminResponse) ResponseCodeInActingVersion(actingVersion uint16) bool {
   290  	return actingVersion >= a.ResponseCodeSinceVersion()
   291  }
   292  
   293  func (*AdminResponse) ResponseCodeDeprecated() uint16 {
   294  	return 0
   295  }
   296  
   297  func (*AdminResponse) ResponseCodeMetaAttribute(meta int) string {
   298  	switch meta {
   299  	case 1:
   300  		return ""
   301  	case 2:
   302  		return ""
   303  	case 3:
   304  		return ""
   305  	case 4:
   306  		return "required"
   307  	}
   308  	return ""
   309  }
   310  
   311  func (*AdminResponse) MessageMetaAttribute(meta int) string {
   312  	switch meta {
   313  	case 1:
   314  		return ""
   315  	case 2:
   316  		return ""
   317  	case 3:
   318  		return ""
   319  	case 4:
   320  		return "required"
   321  	}
   322  	return ""
   323  }
   324  
   325  func (*AdminResponse) MessageSinceVersion() uint16 {
   326  	return 0
   327  }
   328  
   329  func (a *AdminResponse) MessageInActingVersion(actingVersion uint16) bool {
   330  	return actingVersion >= a.MessageSinceVersion()
   331  }
   332  
   333  func (*AdminResponse) MessageDeprecated() uint16 {
   334  	return 0
   335  }
   336  
   337  func (AdminResponse) MessageCharacterEncoding() string {
   338  	return "US-ASCII"
   339  }
   340  
   341  func (AdminResponse) MessageHeaderLength() uint64 {
   342  	return 4
   343  }
   344  
   345  func (*AdminResponse) PayloadMetaAttribute(meta int) string {
   346  	switch meta {
   347  	case 1:
   348  		return ""
   349  	case 2:
   350  		return ""
   351  	case 3:
   352  		return ""
   353  	case 4:
   354  		return "required"
   355  	}
   356  	return ""
   357  }
   358  
   359  func (*AdminResponse) PayloadSinceVersion() uint16 {
   360  	return 0
   361  }
   362  
   363  func (a *AdminResponse) PayloadInActingVersion(actingVersion uint16) bool {
   364  	return actingVersion >= a.PayloadSinceVersion()
   365  }
   366  
   367  func (*AdminResponse) PayloadDeprecated() uint16 {
   368  	return 0
   369  }
   370  
   371  func (AdminResponse) PayloadCharacterEncoding() string {
   372  	return "null"
   373  }
   374  
   375  func (AdminResponse) PayloadHeaderLength() uint64 {
   376  	return 4
   377  }