github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/ClusterTimeUnit.go (about) 1 // Generated SBE (Simple Binary Encoding) message codec 2 3 package codecs 4 5 import ( 6 "fmt" 7 "io" 8 "reflect" 9 ) 10 11 type ClusterTimeUnitEnum int32 12 type ClusterTimeUnitValues struct { 13 MILLIS ClusterTimeUnitEnum 14 MICROS ClusterTimeUnitEnum 15 NANOS ClusterTimeUnitEnum 16 NullValue ClusterTimeUnitEnum 17 } 18 19 var ClusterTimeUnit = ClusterTimeUnitValues{0, 1, 2, -2147483648} 20 21 func (c ClusterTimeUnitEnum) Encode(_m *SbeGoMarshaller, _w io.Writer) error { 22 if err := _m.WriteInt32(_w, int32(c)); err != nil { 23 return err 24 } 25 return nil 26 } 27 28 func (c *ClusterTimeUnitEnum) Decode(_m *SbeGoMarshaller, _r io.Reader, actingVersion uint16) error { 29 if err := _m.ReadInt32(_r, (*int32)(c)); err != nil { 30 return err 31 } 32 return nil 33 } 34 35 func (c ClusterTimeUnitEnum) RangeCheck(actingVersion uint16, schemaVersion uint16) error { 36 if actingVersion > schemaVersion { 37 return nil 38 } 39 value := reflect.ValueOf(ClusterTimeUnit) 40 for idx := 0; idx < value.NumField(); idx++ { 41 if c == value.Field(idx).Interface() { 42 return nil 43 } 44 } 45 return fmt.Errorf("Range check failed on ClusterTimeUnit, unknown enumeration value %d", c) 46 } 47 48 func (*ClusterTimeUnitEnum) EncodedLength() int64 { 49 return 4 50 } 51 52 func (*ClusterTimeUnitEnum) MILLISSinceVersion() uint16 { 53 return 0 54 } 55 56 func (c *ClusterTimeUnitEnum) MILLISInActingVersion(actingVersion uint16) bool { 57 return actingVersion >= c.MILLISSinceVersion() 58 } 59 60 func (*ClusterTimeUnitEnum) MILLISDeprecated() uint16 { 61 return 0 62 } 63 64 func (*ClusterTimeUnitEnum) MICROSSinceVersion() uint16 { 65 return 0 66 } 67 68 func (c *ClusterTimeUnitEnum) MICROSInActingVersion(actingVersion uint16) bool { 69 return actingVersion >= c.MICROSSinceVersion() 70 } 71 72 func (*ClusterTimeUnitEnum) MICROSDeprecated() uint16 { 73 return 0 74 } 75 76 func (*ClusterTimeUnitEnum) NANOSSinceVersion() uint16 { 77 return 0 78 } 79 80 func (c *ClusterTimeUnitEnum) NANOSInActingVersion(actingVersion uint16) bool { 81 return actingVersion >= c.NANOSSinceVersion() 82 } 83 84 func (*ClusterTimeUnitEnum) NANOSDeprecated() uint16 { 85 return 0 86 }