@@ -23,14 +23,13 @@ const (
23
23
)
24
24
25
25
var (
26
- ErrUnknownVersion = errors .New ("unknown codec version" )
27
-
28
- errMarshalNil = errors .New ("can't marshal nil pointer or interface" )
29
- errUnmarshalNil = errors .New ("can't unmarshal nil" )
30
- errUnmarshalTooBig = errors .New ("byte array exceeds maximum length" )
31
- errCantPackVersion = errors .New ("couldn't pack codec version" )
32
- errCantUnpackVersion = errors .New ("couldn't unpack codec version" )
33
- errDuplicatedVersion = errors .New ("duplicated codec version" )
26
+ ErrUnknownVersion = errors .New ("unknown codec version" )
27
+ ErrMarshalNil = errors .New ("can't marshal nil pointer or interface" )
28
+ ErrUnmarshalNil = errors .New ("can't unmarshal nil" )
29
+ ErrUnmarshalTooBig = errors .New ("byte array exceeds maximum length" )
30
+ ErrCantPackVersion = errors .New ("couldn't pack codec version" )
31
+ ErrCantUnpackVersion = errors .New ("couldn't unpack codec version" )
32
+ ErrDuplicatedVersion = errors .New ("duplicated codec version" )
34
33
)
35
34
36
35
var _ Manager = (* manager )(nil )
@@ -43,7 +42,7 @@ type Manager interface {
43
42
// Size returns the size, in bytes, of [value] when it's marshaled
44
43
// using the codec with the given version.
45
44
// RegisterCodec must have been called with that version.
46
- // If [value] is nil, returns [errMarshalNil ]
45
+ // If [value] is nil, returns [ErrMarshalNil ]
47
46
Size (version uint16 , value interface {}) (int , error )
48
47
49
48
// Marshal the given value using the codec with the given version.
@@ -82,15 +81,15 @@ func (m *manager) RegisterCodec(version uint16, codec Codec) error {
82
81
defer m .lock .Unlock ()
83
82
84
83
if _ , exists := m .codecs [version ]; exists {
85
- return errDuplicatedVersion
84
+ return ErrDuplicatedVersion
86
85
}
87
86
m .codecs [version ] = codec
88
87
return nil
89
88
}
90
89
91
90
func (m * manager ) Size (version uint16 , value interface {}) (int , error ) {
92
91
if value == nil {
93
- return 0 , errMarshalNil // can't marshal nil
92
+ return 0 , ErrMarshalNil // can't marshal nil
94
93
}
95
94
96
95
m .lock .RLock ()
@@ -110,7 +109,7 @@ func (m *manager) Size(version uint16, value interface{}) (int, error) {
110
109
// To marshal an interface, [value] must be a pointer to the interface.
111
110
func (m * manager ) Marshal (version uint16 , value interface {}) ([]byte , error ) {
112
111
if value == nil {
113
- return nil , errMarshalNil // can't marshal nil
112
+ return nil , ErrMarshalNil // can't marshal nil
114
113
}
115
114
116
115
m .lock .RLock ()
@@ -126,7 +125,7 @@ func (m *manager) Marshal(version uint16, value interface{}) ([]byte, error) {
126
125
}
127
126
p .PackShort (version )
128
127
if p .Errored () {
129
- return nil , errCantPackVersion // Should never happen
128
+ return nil , ErrCantPackVersion // Should never happen
130
129
}
131
130
return p .Bytes , c .MarshalInto (value , & p )
132
131
}
@@ -135,19 +134,19 @@ func (m *manager) Marshal(version uint16, value interface{}) ([]byte, error) {
135
134
// interface.
136
135
func (m * manager ) Unmarshal (bytes []byte , dest interface {}) (uint16 , error ) {
137
136
if dest == nil {
138
- return 0 , errUnmarshalNil
137
+ return 0 , ErrUnmarshalNil
139
138
}
140
139
141
140
if byteLen := len (bytes ); byteLen > m .maxSize {
142
- return 0 , fmt .Errorf ("%w: %d > %d" , errUnmarshalTooBig , byteLen , m .maxSize )
141
+ return 0 , fmt .Errorf ("%w: %d > %d" , ErrUnmarshalTooBig , byteLen , m .maxSize )
143
142
}
144
143
145
144
p := wrappers.Packer {
146
145
Bytes : bytes ,
147
146
}
148
147
version := p .UnpackShort ()
149
148
if p .Errored () { // Make sure the codec version is correct
150
- return 0 , errCantUnpackVersion
149
+ return 0 , ErrCantUnpackVersion
151
150
}
152
151
153
152
m .lock .RLock ()
0 commit comments