github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/archive/codecs/RecordingSubscriptionDescriptor.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 RecordingSubscriptionDescriptor struct {
    13  	ControlSessionId int64
    14  	CorrelationId    int64
    15  	SubscriptionId   int64
    16  	StreamId         int32
    17  	StrippedChannel  []uint8
    18  }
    19  
    20  func (r *RecordingSubscriptionDescriptor) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error {
    21  	if doRangeCheck {
    22  		if err := r.RangeCheck(r.SbeSchemaVersion(), r.SbeSchemaVersion()); err != nil {
    23  			return err
    24  		}
    25  	}
    26  	if err := _m.WriteInt64(_w, r.ControlSessionId); err != nil {
    27  		return err
    28  	}
    29  	if err := _m.WriteInt64(_w, r.CorrelationId); err != nil {
    30  		return err
    31  	}
    32  	if err := _m.WriteInt64(_w, r.SubscriptionId); err != nil {
    33  		return err
    34  	}
    35  	if err := _m.WriteInt32(_w, r.StreamId); err != nil {
    36  		return err
    37  	}
    38  	if err := _m.WriteUint32(_w, uint32(len(r.StrippedChannel))); err != nil {
    39  		return err
    40  	}
    41  	if err := _m.WriteBytes(_w, r.StrippedChannel); err != nil {
    42  		return err
    43  	}
    44  	return nil
    45  }
    46  
    47  func (r *RecordingSubscriptionDescriptor) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error {
    48  	if !r.ControlSessionIdInActingVersion(actingVersion) {
    49  		r.ControlSessionId = r.ControlSessionIdNullValue()
    50  	} else {
    51  		if err := _m.ReadInt64(_r, &r.ControlSessionId); err != nil {
    52  			return err
    53  		}
    54  	}
    55  	if !r.CorrelationIdInActingVersion(actingVersion) {
    56  		r.CorrelationId = r.CorrelationIdNullValue()
    57  	} else {
    58  		if err := _m.ReadInt64(_r, &r.CorrelationId); err != nil {
    59  			return err
    60  		}
    61  	}
    62  	if !r.SubscriptionIdInActingVersion(actingVersion) {
    63  		r.SubscriptionId = r.SubscriptionIdNullValue()
    64  	} else {
    65  		if err := _m.ReadInt64(_r, &r.SubscriptionId); err != nil {
    66  			return err
    67  		}
    68  	}
    69  	if !r.StreamIdInActingVersion(actingVersion) {
    70  		r.StreamId = r.StreamIdNullValue()
    71  	} else {
    72  		if err := _m.ReadInt32(_r, &r.StreamId); err != nil {
    73  			return err
    74  		}
    75  	}
    76  	if actingVersion > r.SbeSchemaVersion() && blockLength > r.SbeBlockLength() {
    77  		io.CopyN(ioutil.Discard, _r, int64(blockLength-r.SbeBlockLength()))
    78  	}
    79  
    80  	if r.StrippedChannelInActingVersion(actingVersion) {
    81  		var StrippedChannelLength uint32
    82  		if err := _m.ReadUint32(_r, &StrippedChannelLength); err != nil {
    83  			return err
    84  		}
    85  		if cap(r.StrippedChannel) < int(StrippedChannelLength) {
    86  			r.StrippedChannel = make([]uint8, StrippedChannelLength)
    87  		}
    88  		r.StrippedChannel = r.StrippedChannel[:StrippedChannelLength]
    89  		if err := _m.ReadBytes(_r, r.StrippedChannel); err != nil {
    90  			return err
    91  		}
    92  	}
    93  	if doRangeCheck {
    94  		if err := r.RangeCheck(actingVersion, r.SbeSchemaVersion()); err != nil {
    95  			return err
    96  		}
    97  	}
    98  	return nil
    99  }
   100  
   101  func (r *RecordingSubscriptionDescriptor) RangeCheck(actingVersion uint16, schemaVersion uint16) error {
   102  	if r.ControlSessionIdInActingVersion(actingVersion) {
   103  		if r.ControlSessionId < r.ControlSessionIdMinValue() || r.ControlSessionId > r.ControlSessionIdMaxValue() {
   104  			return fmt.Errorf("Range check failed on r.ControlSessionId (%v < %v > %v)", r.ControlSessionIdMinValue(), r.ControlSessionId, r.ControlSessionIdMaxValue())
   105  		}
   106  	}
   107  	if r.CorrelationIdInActingVersion(actingVersion) {
   108  		if r.CorrelationId < r.CorrelationIdMinValue() || r.CorrelationId > r.CorrelationIdMaxValue() {
   109  			return fmt.Errorf("Range check failed on r.CorrelationId (%v < %v > %v)", r.CorrelationIdMinValue(), r.CorrelationId, r.CorrelationIdMaxValue())
   110  		}
   111  	}
   112  	if r.SubscriptionIdInActingVersion(actingVersion) {
   113  		if r.SubscriptionId < r.SubscriptionIdMinValue() || r.SubscriptionId > r.SubscriptionIdMaxValue() {
   114  			return fmt.Errorf("Range check failed on r.SubscriptionId (%v < %v > %v)", r.SubscriptionIdMinValue(), r.SubscriptionId, r.SubscriptionIdMaxValue())
   115  		}
   116  	}
   117  	if r.StreamIdInActingVersion(actingVersion) {
   118  		if r.StreamId < r.StreamIdMinValue() || r.StreamId > r.StreamIdMaxValue() {
   119  			return fmt.Errorf("Range check failed on r.StreamId (%v < %v > %v)", r.StreamIdMinValue(), r.StreamId, r.StreamIdMaxValue())
   120  		}
   121  	}
   122  	return nil
   123  }
   124  
   125  func RecordingSubscriptionDescriptorInit(r *RecordingSubscriptionDescriptor) {
   126  	return
   127  }
   128  
   129  func (*RecordingSubscriptionDescriptor) SbeBlockLength() (blockLength uint16) {
   130  	return 28
   131  }
   132  
   133  func (*RecordingSubscriptionDescriptor) SbeTemplateId() (templateId uint16) {
   134  	return 23
   135  }
   136  
   137  func (*RecordingSubscriptionDescriptor) SbeSchemaId() (schemaId uint16) {
   138  	return 101
   139  }
   140  
   141  func (*RecordingSubscriptionDescriptor) SbeSchemaVersion() (schemaVersion uint16) {
   142  	return 6
   143  }
   144  
   145  func (*RecordingSubscriptionDescriptor) SbeSemanticType() (semanticType []byte) {
   146  	return []byte("")
   147  }
   148  
   149  func (*RecordingSubscriptionDescriptor) ControlSessionIdId() uint16 {
   150  	return 1
   151  }
   152  
   153  func (*RecordingSubscriptionDescriptor) ControlSessionIdSinceVersion() uint16 {
   154  	return 0
   155  }
   156  
   157  func (r *RecordingSubscriptionDescriptor) ControlSessionIdInActingVersion(actingVersion uint16) bool {
   158  	return actingVersion >= r.ControlSessionIdSinceVersion()
   159  }
   160  
   161  func (*RecordingSubscriptionDescriptor) ControlSessionIdDeprecated() uint16 {
   162  	return 0
   163  }
   164  
   165  func (*RecordingSubscriptionDescriptor) ControlSessionIdMetaAttribute(meta int) string {
   166  	switch meta {
   167  	case 1:
   168  		return ""
   169  	case 2:
   170  		return ""
   171  	case 3:
   172  		return ""
   173  	case 4:
   174  		return "required"
   175  	}
   176  	return ""
   177  }
   178  
   179  func (*RecordingSubscriptionDescriptor) ControlSessionIdMinValue() int64 {
   180  	return math.MinInt64 + 1
   181  }
   182  
   183  func (*RecordingSubscriptionDescriptor) ControlSessionIdMaxValue() int64 {
   184  	return math.MaxInt64
   185  }
   186  
   187  func (*RecordingSubscriptionDescriptor) ControlSessionIdNullValue() int64 {
   188  	return math.MinInt64
   189  }
   190  
   191  func (*RecordingSubscriptionDescriptor) CorrelationIdId() uint16 {
   192  	return 2
   193  }
   194  
   195  func (*RecordingSubscriptionDescriptor) CorrelationIdSinceVersion() uint16 {
   196  	return 0
   197  }
   198  
   199  func (r *RecordingSubscriptionDescriptor) CorrelationIdInActingVersion(actingVersion uint16) bool {
   200  	return actingVersion >= r.CorrelationIdSinceVersion()
   201  }
   202  
   203  func (*RecordingSubscriptionDescriptor) CorrelationIdDeprecated() uint16 {
   204  	return 0
   205  }
   206  
   207  func (*RecordingSubscriptionDescriptor) CorrelationIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) CorrelationIdMinValue() int64 {
   222  	return math.MinInt64 + 1
   223  }
   224  
   225  func (*RecordingSubscriptionDescriptor) CorrelationIdMaxValue() int64 {
   226  	return math.MaxInt64
   227  }
   228  
   229  func (*RecordingSubscriptionDescriptor) CorrelationIdNullValue() int64 {
   230  	return math.MinInt64
   231  }
   232  
   233  func (*RecordingSubscriptionDescriptor) SubscriptionIdId() uint16 {
   234  	return 3
   235  }
   236  
   237  func (*RecordingSubscriptionDescriptor) SubscriptionIdSinceVersion() uint16 {
   238  	return 0
   239  }
   240  
   241  func (r *RecordingSubscriptionDescriptor) SubscriptionIdInActingVersion(actingVersion uint16) bool {
   242  	return actingVersion >= r.SubscriptionIdSinceVersion()
   243  }
   244  
   245  func (*RecordingSubscriptionDescriptor) SubscriptionIdDeprecated() uint16 {
   246  	return 0
   247  }
   248  
   249  func (*RecordingSubscriptionDescriptor) SubscriptionIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) SubscriptionIdMinValue() int64 {
   264  	return math.MinInt64 + 1
   265  }
   266  
   267  func (*RecordingSubscriptionDescriptor) SubscriptionIdMaxValue() int64 {
   268  	return math.MaxInt64
   269  }
   270  
   271  func (*RecordingSubscriptionDescriptor) SubscriptionIdNullValue() int64 {
   272  	return math.MinInt64
   273  }
   274  
   275  func (*RecordingSubscriptionDescriptor) StreamIdId() uint16 {
   276  	return 4
   277  }
   278  
   279  func (*RecordingSubscriptionDescriptor) StreamIdSinceVersion() uint16 {
   280  	return 0
   281  }
   282  
   283  func (r *RecordingSubscriptionDescriptor) StreamIdInActingVersion(actingVersion uint16) bool {
   284  	return actingVersion >= r.StreamIdSinceVersion()
   285  }
   286  
   287  func (*RecordingSubscriptionDescriptor) StreamIdDeprecated() uint16 {
   288  	return 0
   289  }
   290  
   291  func (*RecordingSubscriptionDescriptor) StreamIdMetaAttribute(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 (*RecordingSubscriptionDescriptor) StreamIdMinValue() int32 {
   306  	return math.MinInt32 + 1
   307  }
   308  
   309  func (*RecordingSubscriptionDescriptor) StreamIdMaxValue() int32 {
   310  	return math.MaxInt32
   311  }
   312  
   313  func (*RecordingSubscriptionDescriptor) StreamIdNullValue() int32 {
   314  	return math.MinInt32
   315  }
   316  
   317  func (*RecordingSubscriptionDescriptor) StrippedChannelMetaAttribute(meta int) string {
   318  	switch meta {
   319  	case 1:
   320  		return ""
   321  	case 2:
   322  		return ""
   323  	case 3:
   324  		return ""
   325  	case 4:
   326  		return "required"
   327  	}
   328  	return ""
   329  }
   330  
   331  func (*RecordingSubscriptionDescriptor) StrippedChannelSinceVersion() uint16 {
   332  	return 0
   333  }
   334  
   335  func (r *RecordingSubscriptionDescriptor) StrippedChannelInActingVersion(actingVersion uint16) bool {
   336  	return actingVersion >= r.StrippedChannelSinceVersion()
   337  }
   338  
   339  func (*RecordingSubscriptionDescriptor) StrippedChannelDeprecated() uint16 {
   340  	return 0
   341  }
   342  
   343  func (RecordingSubscriptionDescriptor) StrippedChannelCharacterEncoding() string {
   344  	return "US-ASCII"
   345  }
   346  
   347  func (RecordingSubscriptionDescriptor) StrippedChannelHeaderLength() uint64 {
   348  	return 4
   349  }