github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/archive/codecs/ReplicateRequest.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 ReplicateRequest struct {
    13  	ControlSessionId   int64
    14  	CorrelationId      int64
    15  	SrcRecordingId     int64
    16  	DstRecordingId     int64
    17  	SrcControlStreamId int32
    18  	SrcControlChannel  []uint8
    19  	LiveDestination    []uint8
    20  }
    21  
    22  func (r *ReplicateRequest) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error {
    23  	if doRangeCheck {
    24  		if err := r.RangeCheck(r.SbeSchemaVersion(), r.SbeSchemaVersion()); err != nil {
    25  			return err
    26  		}
    27  	}
    28  	if err := _m.WriteInt64(_w, r.ControlSessionId); err != nil {
    29  		return err
    30  	}
    31  	if err := _m.WriteInt64(_w, r.CorrelationId); err != nil {
    32  		return err
    33  	}
    34  	if err := _m.WriteInt64(_w, r.SrcRecordingId); err != nil {
    35  		return err
    36  	}
    37  	if err := _m.WriteInt64(_w, r.DstRecordingId); err != nil {
    38  		return err
    39  	}
    40  	if err := _m.WriteInt32(_w, r.SrcControlStreamId); err != nil {
    41  		return err
    42  	}
    43  	if err := _m.WriteUint32(_w, uint32(len(r.SrcControlChannel))); err != nil {
    44  		return err
    45  	}
    46  	if err := _m.WriteBytes(_w, r.SrcControlChannel); err != nil {
    47  		return err
    48  	}
    49  	if err := _m.WriteUint32(_w, uint32(len(r.LiveDestination))); err != nil {
    50  		return err
    51  	}
    52  	if err := _m.WriteBytes(_w, r.LiveDestination); err != nil {
    53  		return err
    54  	}
    55  	return nil
    56  }
    57  
    58  func (r *ReplicateRequest) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error {
    59  	if !r.ControlSessionIdInActingVersion(actingVersion) {
    60  		r.ControlSessionId = r.ControlSessionIdNullValue()
    61  	} else {
    62  		if err := _m.ReadInt64(_r, &r.ControlSessionId); err != nil {
    63  			return err
    64  		}
    65  	}
    66  	if !r.CorrelationIdInActingVersion(actingVersion) {
    67  		r.CorrelationId = r.CorrelationIdNullValue()
    68  	} else {
    69  		if err := _m.ReadInt64(_r, &r.CorrelationId); err != nil {
    70  			return err
    71  		}
    72  	}
    73  	if !r.SrcRecordingIdInActingVersion(actingVersion) {
    74  		r.SrcRecordingId = r.SrcRecordingIdNullValue()
    75  	} else {
    76  		if err := _m.ReadInt64(_r, &r.SrcRecordingId); err != nil {
    77  			return err
    78  		}
    79  	}
    80  	if !r.DstRecordingIdInActingVersion(actingVersion) {
    81  		r.DstRecordingId = r.DstRecordingIdNullValue()
    82  	} else {
    83  		if err := _m.ReadInt64(_r, &r.DstRecordingId); err != nil {
    84  			return err
    85  		}
    86  	}
    87  	if !r.SrcControlStreamIdInActingVersion(actingVersion) {
    88  		r.SrcControlStreamId = r.SrcControlStreamIdNullValue()
    89  	} else {
    90  		if err := _m.ReadInt32(_r, &r.SrcControlStreamId); err != nil {
    91  			return err
    92  		}
    93  	}
    94  	if actingVersion > r.SbeSchemaVersion() && blockLength > r.SbeBlockLength() {
    95  		io.CopyN(ioutil.Discard, _r, int64(blockLength-r.SbeBlockLength()))
    96  	}
    97  
    98  	if r.SrcControlChannelInActingVersion(actingVersion) {
    99  		var SrcControlChannelLength uint32
   100  		if err := _m.ReadUint32(_r, &SrcControlChannelLength); err != nil {
   101  			return err
   102  		}
   103  		if cap(r.SrcControlChannel) < int(SrcControlChannelLength) {
   104  			r.SrcControlChannel = make([]uint8, SrcControlChannelLength)
   105  		}
   106  		r.SrcControlChannel = r.SrcControlChannel[:SrcControlChannelLength]
   107  		if err := _m.ReadBytes(_r, r.SrcControlChannel); err != nil {
   108  			return err
   109  		}
   110  	}
   111  
   112  	if r.LiveDestinationInActingVersion(actingVersion) {
   113  		var LiveDestinationLength uint32
   114  		if err := _m.ReadUint32(_r, &LiveDestinationLength); err != nil {
   115  			return err
   116  		}
   117  		if cap(r.LiveDestination) < int(LiveDestinationLength) {
   118  			r.LiveDestination = make([]uint8, LiveDestinationLength)
   119  		}
   120  		r.LiveDestination = r.LiveDestination[:LiveDestinationLength]
   121  		if err := _m.ReadBytes(_r, r.LiveDestination); err != nil {
   122  			return err
   123  		}
   124  	}
   125  	if doRangeCheck {
   126  		if err := r.RangeCheck(actingVersion, r.SbeSchemaVersion()); err != nil {
   127  			return err
   128  		}
   129  	}
   130  	return nil
   131  }
   132  
   133  func (r *ReplicateRequest) RangeCheck(actingVersion uint16, schemaVersion uint16) error {
   134  	if r.ControlSessionIdInActingVersion(actingVersion) {
   135  		if r.ControlSessionId < r.ControlSessionIdMinValue() || r.ControlSessionId > r.ControlSessionIdMaxValue() {
   136  			return fmt.Errorf("Range check failed on r.ControlSessionId (%v < %v > %v)", r.ControlSessionIdMinValue(), r.ControlSessionId, r.ControlSessionIdMaxValue())
   137  		}
   138  	}
   139  	if r.CorrelationIdInActingVersion(actingVersion) {
   140  		if r.CorrelationId < r.CorrelationIdMinValue() || r.CorrelationId > r.CorrelationIdMaxValue() {
   141  			return fmt.Errorf("Range check failed on r.CorrelationId (%v < %v > %v)", r.CorrelationIdMinValue(), r.CorrelationId, r.CorrelationIdMaxValue())
   142  		}
   143  	}
   144  	if r.SrcRecordingIdInActingVersion(actingVersion) {
   145  		if r.SrcRecordingId < r.SrcRecordingIdMinValue() || r.SrcRecordingId > r.SrcRecordingIdMaxValue() {
   146  			return fmt.Errorf("Range check failed on r.SrcRecordingId (%v < %v > %v)", r.SrcRecordingIdMinValue(), r.SrcRecordingId, r.SrcRecordingIdMaxValue())
   147  		}
   148  	}
   149  	if r.DstRecordingIdInActingVersion(actingVersion) {
   150  		if r.DstRecordingId < r.DstRecordingIdMinValue() || r.DstRecordingId > r.DstRecordingIdMaxValue() {
   151  			return fmt.Errorf("Range check failed on r.DstRecordingId (%v < %v > %v)", r.DstRecordingIdMinValue(), r.DstRecordingId, r.DstRecordingIdMaxValue())
   152  		}
   153  	}
   154  	if r.SrcControlStreamIdInActingVersion(actingVersion) {
   155  		if r.SrcControlStreamId < r.SrcControlStreamIdMinValue() || r.SrcControlStreamId > r.SrcControlStreamIdMaxValue() {
   156  			return fmt.Errorf("Range check failed on r.SrcControlStreamId (%v < %v > %v)", r.SrcControlStreamIdMinValue(), r.SrcControlStreamId, r.SrcControlStreamIdMaxValue())
   157  		}
   158  	}
   159  	return nil
   160  }
   161  
   162  func ReplicateRequestInit(r *ReplicateRequest) {
   163  	return
   164  }
   165  
   166  func (*ReplicateRequest) SbeBlockLength() (blockLength uint16) {
   167  	return 36
   168  }
   169  
   170  func (*ReplicateRequest) SbeTemplateId() (templateId uint16) {
   171  	return 50
   172  }
   173  
   174  func (*ReplicateRequest) SbeSchemaId() (schemaId uint16) {
   175  	return 101
   176  }
   177  
   178  func (*ReplicateRequest) SbeSchemaVersion() (schemaVersion uint16) {
   179  	return 6
   180  }
   181  
   182  func (*ReplicateRequest) SbeSemanticType() (semanticType []byte) {
   183  	return []byte("")
   184  }
   185  
   186  func (*ReplicateRequest) ControlSessionIdId() uint16 {
   187  	return 1
   188  }
   189  
   190  func (*ReplicateRequest) ControlSessionIdSinceVersion() uint16 {
   191  	return 0
   192  }
   193  
   194  func (r *ReplicateRequest) ControlSessionIdInActingVersion(actingVersion uint16) bool {
   195  	return actingVersion >= r.ControlSessionIdSinceVersion()
   196  }
   197  
   198  func (*ReplicateRequest) ControlSessionIdDeprecated() uint16 {
   199  	return 0
   200  }
   201  
   202  func (*ReplicateRequest) ControlSessionIdMetaAttribute(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 (*ReplicateRequest) ControlSessionIdMinValue() int64 {
   217  	return math.MinInt64 + 1
   218  }
   219  
   220  func (*ReplicateRequest) ControlSessionIdMaxValue() int64 {
   221  	return math.MaxInt64
   222  }
   223  
   224  func (*ReplicateRequest) ControlSessionIdNullValue() int64 {
   225  	return math.MinInt64
   226  }
   227  
   228  func (*ReplicateRequest) CorrelationIdId() uint16 {
   229  	return 2
   230  }
   231  
   232  func (*ReplicateRequest) CorrelationIdSinceVersion() uint16 {
   233  	return 0
   234  }
   235  
   236  func (r *ReplicateRequest) CorrelationIdInActingVersion(actingVersion uint16) bool {
   237  	return actingVersion >= r.CorrelationIdSinceVersion()
   238  }
   239  
   240  func (*ReplicateRequest) CorrelationIdDeprecated() uint16 {
   241  	return 0
   242  }
   243  
   244  func (*ReplicateRequest) CorrelationIdMetaAttribute(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 (*ReplicateRequest) CorrelationIdMinValue() int64 {
   259  	return math.MinInt64 + 1
   260  }
   261  
   262  func (*ReplicateRequest) CorrelationIdMaxValue() int64 {
   263  	return math.MaxInt64
   264  }
   265  
   266  func (*ReplicateRequest) CorrelationIdNullValue() int64 {
   267  	return math.MinInt64
   268  }
   269  
   270  func (*ReplicateRequest) SrcRecordingIdId() uint16 {
   271  	return 3
   272  }
   273  
   274  func (*ReplicateRequest) SrcRecordingIdSinceVersion() uint16 {
   275  	return 0
   276  }
   277  
   278  func (r *ReplicateRequest) SrcRecordingIdInActingVersion(actingVersion uint16) bool {
   279  	return actingVersion >= r.SrcRecordingIdSinceVersion()
   280  }
   281  
   282  func (*ReplicateRequest) SrcRecordingIdDeprecated() uint16 {
   283  	return 0
   284  }
   285  
   286  func (*ReplicateRequest) SrcRecordingIdMetaAttribute(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 (*ReplicateRequest) SrcRecordingIdMinValue() int64 {
   301  	return math.MinInt64 + 1
   302  }
   303  
   304  func (*ReplicateRequest) SrcRecordingIdMaxValue() int64 {
   305  	return math.MaxInt64
   306  }
   307  
   308  func (*ReplicateRequest) SrcRecordingIdNullValue() int64 {
   309  	return math.MinInt64
   310  }
   311  
   312  func (*ReplicateRequest) DstRecordingIdId() uint16 {
   313  	return 4
   314  }
   315  
   316  func (*ReplicateRequest) DstRecordingIdSinceVersion() uint16 {
   317  	return 0
   318  }
   319  
   320  func (r *ReplicateRequest) DstRecordingIdInActingVersion(actingVersion uint16) bool {
   321  	return actingVersion >= r.DstRecordingIdSinceVersion()
   322  }
   323  
   324  func (*ReplicateRequest) DstRecordingIdDeprecated() uint16 {
   325  	return 0
   326  }
   327  
   328  func (*ReplicateRequest) DstRecordingIdMetaAttribute(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 (*ReplicateRequest) DstRecordingIdMinValue() int64 {
   343  	return math.MinInt64 + 1
   344  }
   345  
   346  func (*ReplicateRequest) DstRecordingIdMaxValue() int64 {
   347  	return math.MaxInt64
   348  }
   349  
   350  func (*ReplicateRequest) DstRecordingIdNullValue() int64 {
   351  	return math.MinInt64
   352  }
   353  
   354  func (*ReplicateRequest) SrcControlStreamIdId() uint16 {
   355  	return 5
   356  }
   357  
   358  func (*ReplicateRequest) SrcControlStreamIdSinceVersion() uint16 {
   359  	return 0
   360  }
   361  
   362  func (r *ReplicateRequest) SrcControlStreamIdInActingVersion(actingVersion uint16) bool {
   363  	return actingVersion >= r.SrcControlStreamIdSinceVersion()
   364  }
   365  
   366  func (*ReplicateRequest) SrcControlStreamIdDeprecated() uint16 {
   367  	return 0
   368  }
   369  
   370  func (*ReplicateRequest) SrcControlStreamIdMetaAttribute(meta int) string {
   371  	switch meta {
   372  	case 1:
   373  		return ""
   374  	case 2:
   375  		return ""
   376  	case 3:
   377  		return ""
   378  	case 4:
   379  		return "required"
   380  	}
   381  	return ""
   382  }
   383  
   384  func (*ReplicateRequest) SrcControlStreamIdMinValue() int32 {
   385  	return math.MinInt32 + 1
   386  }
   387  
   388  func (*ReplicateRequest) SrcControlStreamIdMaxValue() int32 {
   389  	return math.MaxInt32
   390  }
   391  
   392  func (*ReplicateRequest) SrcControlStreamIdNullValue() int32 {
   393  	return math.MinInt32
   394  }
   395  
   396  func (*ReplicateRequest) SrcControlChannelMetaAttribute(meta int) string {
   397  	switch meta {
   398  	case 1:
   399  		return ""
   400  	case 2:
   401  		return ""
   402  	case 3:
   403  		return ""
   404  	case 4:
   405  		return "required"
   406  	}
   407  	return ""
   408  }
   409  
   410  func (*ReplicateRequest) SrcControlChannelSinceVersion() uint16 {
   411  	return 0
   412  }
   413  
   414  func (r *ReplicateRequest) SrcControlChannelInActingVersion(actingVersion uint16) bool {
   415  	return actingVersion >= r.SrcControlChannelSinceVersion()
   416  }
   417  
   418  func (*ReplicateRequest) SrcControlChannelDeprecated() uint16 {
   419  	return 0
   420  }
   421  
   422  func (ReplicateRequest) SrcControlChannelCharacterEncoding() string {
   423  	return "US-ASCII"
   424  }
   425  
   426  func (ReplicateRequest) SrcControlChannelHeaderLength() uint64 {
   427  	return 4
   428  }
   429  
   430  func (*ReplicateRequest) LiveDestinationMetaAttribute(meta int) string {
   431  	switch meta {
   432  	case 1:
   433  		return ""
   434  	case 2:
   435  		return ""
   436  	case 3:
   437  		return ""
   438  	case 4:
   439  		return "required"
   440  	}
   441  	return ""
   442  }
   443  
   444  func (*ReplicateRequest) LiveDestinationSinceVersion() uint16 {
   445  	return 0
   446  }
   447  
   448  func (r *ReplicateRequest) LiveDestinationInActingVersion(actingVersion uint16) bool {
   449  	return actingVersion >= r.LiveDestinationSinceVersion()
   450  }
   451  
   452  func (*ReplicateRequest) LiveDestinationDeprecated() uint16 {
   453  	return 0
   454  }
   455  
   456  func (ReplicateRequest) LiveDestinationCharacterEncoding() string {
   457  	return "US-ASCII"
   458  }
   459  
   460  func (ReplicateRequest) LiveDestinationHeaderLength() uint64 {
   461  	return 4
   462  }