github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/BackupQuery.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 BackupQuery struct {
    13  	CorrelationId      int64
    14  	ResponseStreamId   int32
    15  	Version            int32
    16  	ResponseChannel    []uint8
    17  	EncodedCredentials []uint8
    18  }
    19  
    20  func (b *BackupQuery) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error {
    21  	if doRangeCheck {
    22  		if err := b.RangeCheck(b.SbeSchemaVersion(), b.SbeSchemaVersion()); err != nil {
    23  			return err
    24  		}
    25  	}
    26  	if err := _m.WriteInt64(_w, b.CorrelationId); err != nil {
    27  		return err
    28  	}
    29  	if err := _m.WriteInt32(_w, b.ResponseStreamId); err != nil {
    30  		return err
    31  	}
    32  	if err := _m.WriteInt32(_w, b.Version); err != nil {
    33  		return err
    34  	}
    35  	if err := _m.WriteUint32(_w, uint32(len(b.ResponseChannel))); err != nil {
    36  		return err
    37  	}
    38  	if err := _m.WriteBytes(_w, b.ResponseChannel); err != nil {
    39  		return err
    40  	}
    41  	if err := _m.WriteUint32(_w, uint32(len(b.EncodedCredentials))); err != nil {
    42  		return err
    43  	}
    44  	if err := _m.WriteBytes(_w, b.EncodedCredentials); err != nil {
    45  		return err
    46  	}
    47  	return nil
    48  }
    49  
    50  func (b *BackupQuery) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error {
    51  	if !b.CorrelationIdInActingVersion(actingVersion) {
    52  		b.CorrelationId = b.CorrelationIdNullValue()
    53  	} else {
    54  		if err := _m.ReadInt64(_r, &b.CorrelationId); err != nil {
    55  			return err
    56  		}
    57  	}
    58  	if !b.ResponseStreamIdInActingVersion(actingVersion) {
    59  		b.ResponseStreamId = b.ResponseStreamIdNullValue()
    60  	} else {
    61  		if err := _m.ReadInt32(_r, &b.ResponseStreamId); err != nil {
    62  			return err
    63  		}
    64  	}
    65  	if !b.VersionInActingVersion(actingVersion) {
    66  		b.Version = b.VersionNullValue()
    67  	} else {
    68  		if err := _m.ReadInt32(_r, &b.Version); err != nil {
    69  			return err
    70  		}
    71  	}
    72  	if actingVersion > b.SbeSchemaVersion() && blockLength > b.SbeBlockLength() {
    73  		io.CopyN(ioutil.Discard, _r, int64(blockLength-b.SbeBlockLength()))
    74  	}
    75  
    76  	if b.ResponseChannelInActingVersion(actingVersion) {
    77  		var ResponseChannelLength uint32
    78  		if err := _m.ReadUint32(_r, &ResponseChannelLength); err != nil {
    79  			return err
    80  		}
    81  		if cap(b.ResponseChannel) < int(ResponseChannelLength) {
    82  			b.ResponseChannel = make([]uint8, ResponseChannelLength)
    83  		}
    84  		b.ResponseChannel = b.ResponseChannel[:ResponseChannelLength]
    85  		if err := _m.ReadBytes(_r, b.ResponseChannel); err != nil {
    86  			return err
    87  		}
    88  	}
    89  
    90  	if b.EncodedCredentialsInActingVersion(actingVersion) {
    91  		var EncodedCredentialsLength uint32
    92  		if err := _m.ReadUint32(_r, &EncodedCredentialsLength); err != nil {
    93  			return err
    94  		}
    95  		if cap(b.EncodedCredentials) < int(EncodedCredentialsLength) {
    96  			b.EncodedCredentials = make([]uint8, EncodedCredentialsLength)
    97  		}
    98  		b.EncodedCredentials = b.EncodedCredentials[:EncodedCredentialsLength]
    99  		if err := _m.ReadBytes(_r, b.EncodedCredentials); err != nil {
   100  			return err
   101  		}
   102  	}
   103  	if doRangeCheck {
   104  		if err := b.RangeCheck(actingVersion, b.SbeSchemaVersion()); err != nil {
   105  			return err
   106  		}
   107  	}
   108  	return nil
   109  }
   110  
   111  func (b *BackupQuery) RangeCheck(actingVersion uint16, schemaVersion uint16) error {
   112  	if b.CorrelationIdInActingVersion(actingVersion) {
   113  		if b.CorrelationId < b.CorrelationIdMinValue() || b.CorrelationId > b.CorrelationIdMaxValue() {
   114  			return fmt.Errorf("Range check failed on b.CorrelationId (%v < %v > %v)", b.CorrelationIdMinValue(), b.CorrelationId, b.CorrelationIdMaxValue())
   115  		}
   116  	}
   117  	if b.ResponseStreamIdInActingVersion(actingVersion) {
   118  		if b.ResponseStreamId < b.ResponseStreamIdMinValue() || b.ResponseStreamId > b.ResponseStreamIdMaxValue() {
   119  			return fmt.Errorf("Range check failed on b.ResponseStreamId (%v < %v > %v)", b.ResponseStreamIdMinValue(), b.ResponseStreamId, b.ResponseStreamIdMaxValue())
   120  		}
   121  	}
   122  	if b.VersionInActingVersion(actingVersion) {
   123  		if b.Version != b.VersionNullValue() && (b.Version < b.VersionMinValue() || b.Version > b.VersionMaxValue()) {
   124  			return fmt.Errorf("Range check failed on b.Version (%v < %v > %v)", b.VersionMinValue(), b.Version, b.VersionMaxValue())
   125  		}
   126  	}
   127  	for idx, ch := range b.ResponseChannel {
   128  		if ch > 127 {
   129  			return fmt.Errorf("b.ResponseChannel[%d]=%d failed ASCII validation", idx, ch)
   130  		}
   131  	}
   132  	return nil
   133  }
   134  
   135  func BackupQueryInit(b *BackupQuery) {
   136  	b.Version = 0
   137  	return
   138  }
   139  
   140  func (*BackupQuery) SbeBlockLength() (blockLength uint16) {
   141  	return 16
   142  }
   143  
   144  func (*BackupQuery) SbeTemplateId() (templateId uint16) {
   145  	return 77
   146  }
   147  
   148  func (*BackupQuery) SbeSchemaId() (schemaId uint16) {
   149  	return 111
   150  }
   151  
   152  func (*BackupQuery) SbeSchemaVersion() (schemaVersion uint16) {
   153  	return 8
   154  }
   155  
   156  func (*BackupQuery) SbeSemanticType() (semanticType []byte) {
   157  	return []byte("")
   158  }
   159  
   160  func (*BackupQuery) CorrelationIdId() uint16 {
   161  	return 1
   162  }
   163  
   164  func (*BackupQuery) CorrelationIdSinceVersion() uint16 {
   165  	return 0
   166  }
   167  
   168  func (b *BackupQuery) CorrelationIdInActingVersion(actingVersion uint16) bool {
   169  	return actingVersion >= b.CorrelationIdSinceVersion()
   170  }
   171  
   172  func (*BackupQuery) CorrelationIdDeprecated() uint16 {
   173  	return 0
   174  }
   175  
   176  func (*BackupQuery) CorrelationIdMetaAttribute(meta int) string {
   177  	switch meta {
   178  	case 1:
   179  		return ""
   180  	case 2:
   181  		return ""
   182  	case 3:
   183  		return ""
   184  	case 4:
   185  		return "required"
   186  	}
   187  	return ""
   188  }
   189  
   190  func (*BackupQuery) CorrelationIdMinValue() int64 {
   191  	return math.MinInt64 + 1
   192  }
   193  
   194  func (*BackupQuery) CorrelationIdMaxValue() int64 {
   195  	return math.MaxInt64
   196  }
   197  
   198  func (*BackupQuery) CorrelationIdNullValue() int64 {
   199  	return math.MinInt64
   200  }
   201  
   202  func (*BackupQuery) ResponseStreamIdId() uint16 {
   203  	return 2
   204  }
   205  
   206  func (*BackupQuery) ResponseStreamIdSinceVersion() uint16 {
   207  	return 0
   208  }
   209  
   210  func (b *BackupQuery) ResponseStreamIdInActingVersion(actingVersion uint16) bool {
   211  	return actingVersion >= b.ResponseStreamIdSinceVersion()
   212  }
   213  
   214  func (*BackupQuery) ResponseStreamIdDeprecated() uint16 {
   215  	return 0
   216  }
   217  
   218  func (*BackupQuery) ResponseStreamIdMetaAttribute(meta int) string {
   219  	switch meta {
   220  	case 1:
   221  		return ""
   222  	case 2:
   223  		return ""
   224  	case 3:
   225  		return ""
   226  	case 4:
   227  		return "required"
   228  	}
   229  	return ""
   230  }
   231  
   232  func (*BackupQuery) ResponseStreamIdMinValue() int32 {
   233  	return math.MinInt32 + 1
   234  }
   235  
   236  func (*BackupQuery) ResponseStreamIdMaxValue() int32 {
   237  	return math.MaxInt32
   238  }
   239  
   240  func (*BackupQuery) ResponseStreamIdNullValue() int32 {
   241  	return math.MinInt32
   242  }
   243  
   244  func (*BackupQuery) VersionId() uint16 {
   245  	return 3
   246  }
   247  
   248  func (*BackupQuery) VersionSinceVersion() uint16 {
   249  	return 2
   250  }
   251  
   252  func (b *BackupQuery) VersionInActingVersion(actingVersion uint16) bool {
   253  	return actingVersion >= b.VersionSinceVersion()
   254  }
   255  
   256  func (*BackupQuery) VersionDeprecated() uint16 {
   257  	return 0
   258  }
   259  
   260  func (*BackupQuery) VersionMetaAttribute(meta int) string {
   261  	switch meta {
   262  	case 1:
   263  		return ""
   264  	case 2:
   265  		return ""
   266  	case 3:
   267  		return ""
   268  	case 4:
   269  		return "optional"
   270  	}
   271  	return ""
   272  }
   273  
   274  func (*BackupQuery) VersionMinValue() int32 {
   275  	return 1
   276  }
   277  
   278  func (*BackupQuery) VersionMaxValue() int32 {
   279  	return 16777215
   280  }
   281  
   282  func (*BackupQuery) VersionNullValue() int32 {
   283  	return 0
   284  }
   285  
   286  func (*BackupQuery) ResponseChannelMetaAttribute(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 (*BackupQuery) ResponseChannelSinceVersion() uint16 {
   301  	return 0
   302  }
   303  
   304  func (b *BackupQuery) ResponseChannelInActingVersion(actingVersion uint16) bool {
   305  	return actingVersion >= b.ResponseChannelSinceVersion()
   306  }
   307  
   308  func (*BackupQuery) ResponseChannelDeprecated() uint16 {
   309  	return 0
   310  }
   311  
   312  func (BackupQuery) ResponseChannelCharacterEncoding() string {
   313  	return "US-ASCII"
   314  }
   315  
   316  func (BackupQuery) ResponseChannelHeaderLength() uint64 {
   317  	return 4
   318  }
   319  
   320  func (*BackupQuery) EncodedCredentialsMetaAttribute(meta int) string {
   321  	switch meta {
   322  	case 1:
   323  		return ""
   324  	case 2:
   325  		return ""
   326  	case 3:
   327  		return ""
   328  	case 4:
   329  		return "required"
   330  	}
   331  	return ""
   332  }
   333  
   334  func (*BackupQuery) EncodedCredentialsSinceVersion() uint16 {
   335  	return 0
   336  }
   337  
   338  func (b *BackupQuery) EncodedCredentialsInActingVersion(actingVersion uint16) bool {
   339  	return actingVersion >= b.EncodedCredentialsSinceVersion()
   340  }
   341  
   342  func (*BackupQuery) EncodedCredentialsDeprecated() uint16 {
   343  	return 0
   344  }
   345  
   346  func (BackupQuery) EncodedCredentialsCharacterEncoding() string {
   347  	return "null"
   348  }
   349  
   350  func (BackupQuery) EncodedCredentialsHeaderLength() uint64 {
   351  	return 4
   352  }