github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/ClusterMembersQuery.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 ClusterMembersQuery struct { 13 CorrelationId int64 14 Extended BooleanTypeEnum 15 } 16 17 func (c *ClusterMembersQuery) Encode(_m *SbeGoMarshaller, _w io.Writer, doRangeCheck bool) error { 18 if doRangeCheck { 19 if err := c.RangeCheck(c.SbeSchemaVersion(), c.SbeSchemaVersion()); err != nil { 20 return err 21 } 22 } 23 if err := _m.WriteInt64(_w, c.CorrelationId); err != nil { 24 return err 25 } 26 if err := c.Extended.Encode(_m, _w); err != nil { 27 return err 28 } 29 return nil 30 } 31 32 func (c *ClusterMembersQuery) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16, blockLength uint16, doRangeCheck bool) error { 33 if !c.CorrelationIdInActingVersion(actingVersion) { 34 c.CorrelationId = c.CorrelationIdNullValue() 35 } else { 36 if err := _m.ReadInt64(_r, &c.CorrelationId); err != nil { 37 return err 38 } 39 } 40 if c.ExtendedInActingVersion(actingVersion) { 41 if err := c.Extended.Decode(_m, _r, actingVersion); err != nil { 42 return err 43 } 44 } 45 if actingVersion > c.SbeSchemaVersion() && blockLength > c.SbeBlockLength() { 46 io.CopyN(ioutil.Discard, _r, int64(blockLength-c.SbeBlockLength())) 47 } 48 if doRangeCheck { 49 if err := c.RangeCheck(actingVersion, c.SbeSchemaVersion()); err != nil { 50 return err 51 } 52 } 53 return nil 54 } 55 56 func (c *ClusterMembersQuery) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 57 if c.CorrelationIdInActingVersion(actingVersion) { 58 if c.CorrelationId < c.CorrelationIdMinValue() || c.CorrelationId > c.CorrelationIdMaxValue() { 59 return fmt.Errorf("Range check failed on c.CorrelationId (%v < %v > %v)", c.CorrelationIdMinValue(), c.CorrelationId, c.CorrelationIdMaxValue()) 60 } 61 } 62 if err := c.Extended.RangeCheck(actingVersion, schemaVersion); err != nil { 63 return err 64 } 65 return nil 66 } 67 68 func ClusterMembersQueryInit(c *ClusterMembersQuery) { 69 return 70 } 71 72 func (*ClusterMembersQuery) SbeBlockLength() (blockLength uint16) { 73 return 12 74 } 75 76 func (*ClusterMembersQuery) SbeTemplateId() (templateId uint16) { 77 return 34 78 } 79 80 func (*ClusterMembersQuery) SbeSchemaId() (schemaId uint16) { 81 return 111 82 } 83 84 func (*ClusterMembersQuery) SbeSchemaVersion() (schemaVersion uint16) { 85 return 8 86 } 87 88 func (*ClusterMembersQuery) SbeSemanticType() (semanticType []byte) { 89 return []byte("") 90 } 91 92 func (*ClusterMembersQuery) CorrelationIdId() uint16 { 93 return 1 94 } 95 96 func (*ClusterMembersQuery) CorrelationIdSinceVersion() uint16 { 97 return 0 98 } 99 100 func (c *ClusterMembersQuery) CorrelationIdInActingVersion(actingVersion uint16) bool { 101 return actingVersion >= c.CorrelationIdSinceVersion() 102 } 103 104 func (*ClusterMembersQuery) CorrelationIdDeprecated() uint16 { 105 return 0 106 } 107 108 func (*ClusterMembersQuery) CorrelationIdMetaAttribute(meta int) string { 109 switch meta { 110 case 1: 111 return "" 112 case 2: 113 return "" 114 case 3: 115 return "" 116 case 4: 117 return "required" 118 } 119 return "" 120 } 121 122 func (*ClusterMembersQuery) CorrelationIdMinValue() int64 { 123 return math.MinInt64 + 1 124 } 125 126 func (*ClusterMembersQuery) CorrelationIdMaxValue() int64 { 127 return math.MaxInt64 128 } 129 130 func (*ClusterMembersQuery) CorrelationIdNullValue() int64 { 131 return math.MinInt64 132 } 133 134 func (*ClusterMembersQuery) ExtendedId() uint16 { 135 return 2 136 } 137 138 func (*ClusterMembersQuery) ExtendedSinceVersion() uint16 { 139 return 5 140 } 141 142 func (c *ClusterMembersQuery) ExtendedInActingVersion(actingVersion uint16) bool { 143 return actingVersion >= c.ExtendedSinceVersion() 144 } 145 146 func (*ClusterMembersQuery) ExtendedDeprecated() uint16 { 147 return 0 148 } 149 150 func (*ClusterMembersQuery) ExtendedMetaAttribute(meta int) string { 151 switch meta { 152 case 1: 153 return "" 154 case 2: 155 return "" 156 case 3: 157 return "" 158 case 4: 159 return "optional" 160 } 161 return "" 162 }