Skip to content
This repository was archived by the owner on Nov 27, 2018. It is now read-only.

Commit 4aedcbc

Browse files
committed
Minor refactoring
1 parent a849446 commit 4aedcbc

File tree

5 files changed

+21
-25
lines changed

5 files changed

+21
-25
lines changed

interpreter.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type Interpreter struct {
1717
session *Session
1818
}
1919

20-
// IPFIX type of an Information Element ("Field").
20+
// FieldType is the IPFIX type of an Information Element ("Field").
2121
type FieldType int
2222

2323
// The available field types as defined by RFC 5102.
@@ -45,6 +45,8 @@ const (
4545
Ipv6Address
4646
)
4747

48+
// FieldTypes maps string representations of field types into their
49+
// corresponding FieldType value.
4850
var FieldTypes = map[string]FieldType{
4951
"unsigned8": Uint8,
5052
"unsigned16": Uint16,
@@ -68,7 +70,8 @@ var FieldTypes = map[string]FieldType{
6870
"ipv6Address": Ipv6Address,
6971
}
7072

71-
// DictionaryEntry provides a mapping between an (Enterprise, Field) pair and a Name and Type.
73+
// DictionaryEntry provides a mapping between an (Enterprise, Field) pair and
74+
// a Name and Type.
7275
type DictionaryEntry struct {
7376
Name string
7477
FieldID uint16

parser.go

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func (s *Session) ParseReader(r io.Reader) (Message, error) {
128128
return Message{}, err
129129
}
130130

131-
sl := NewSlice(bs[msgHeaderLength:])
131+
sl := newSlice(bs[msgHeaderLength:])
132132
var msg Message
133133
msg.Header = hdr
134134
msg.TemplateRecords, msg.DataRecords, err = s.readBuffer(sl)
@@ -142,7 +142,7 @@ func (s *Session) ParseBuffer(bs []byte) (Message, error) {
142142
var msg Message
143143
var err error
144144

145-
sl := NewSlice(bs)
145+
sl := newSlice(bs)
146146
msg.Header.unmarshal(sl)
147147
msg.TemplateRecords, msg.DataRecords, err = s.readBuffer(sl)
148148
return msg, err
@@ -160,7 +160,7 @@ func (s *Session) readBuffer(sl *slice) ([]TemplateRecord, []DataRecord, error)
160160

161161
// Grab the bytes representing the set
162162
setLen := int(setHdr.Length) - setHeaderLength
163-
setSl := NewSlice(sl.Cut(setLen))
163+
setSl := newSlice(sl.Cut(setLen))
164164
if err := sl.Error(); err != nil {
165165
return nil, nil, err
166166
}
@@ -207,8 +207,7 @@ func (s *Session) readSet(setHdr setHeader, sl *slice) ([]TemplateRecord, []Data
207207

208208
case setHdr.SetID == 2:
209209
// Template Set
210-
var tr TemplateRecord
211-
tr = s.readTemplateRecord(sl)
210+
tr := s.readTemplateRecord(sl)
212211
trecs = append(trecs, tr)
213212

214213
s.registerTemplateRecord(tr)
@@ -230,9 +229,7 @@ func (s *Session) readSet(setHdr setHeader, sl *slice) ([]TemplateRecord, []Data
230229

231230
if tpl != nil {
232231
// Data set
233-
var ds DataRecord
234-
var err error
235-
ds, err = s.readDataRecord(sl, tpl)
232+
ds, err := s.readDataRecord(sl, tpl)
236233
if err != nil {
237234
return nil, nil, err
238235
}
@@ -251,8 +248,8 @@ func (s *Session) readSet(setHdr setHeader, sl *slice) ([]TemplateRecord, []Data
251248
}
252249

253250
func (s *Session) readDataRecord(sl *slice, tpl []TemplateFieldSpecifier) (DataRecord, error) {
254-
var ds DataRecord
255-
ds.Fields = make([][]byte, len(tpl))
251+
var dr DataRecord
252+
dr.Fields = make([][]byte, len(tpl))
256253

257254
var err error
258255
total := 0
@@ -267,7 +264,7 @@ func (s *Session) readDataRecord(sl *slice, tpl []TemplateFieldSpecifier) (DataR
267264
l := int(tpl[i].Length)
268265
val = sl.Cut(l)
269266
}
270-
ds.Fields[i] = val
267+
dr.Fields[i] = val
271268
total += len(val)
272269
}
273270

@@ -278,13 +275,13 @@ func (s *Session) readDataRecord(sl *slice, tpl []TemplateFieldSpecifier) (DataR
278275

279276
cp := make([]byte, total)
280277
next := 0
281-
for i := range ds.Fields {
282-
ln := copy(cp[next:], ds.Fields[i])
283-
ds.Fields[i] = cp[next : next+ln]
278+
for i := range dr.Fields {
279+
ln := copy(cp[next:], dr.Fields[i])
280+
dr.Fields[i] = cp[next : next+ln]
284281
next += ln
285282
}
286283

287-
return ds, sl.Error()
284+
return dr, sl.Error()
288285
}
289286

290287
func (s *Session) readTemplateRecord(sl *slice) TemplateRecord {
@@ -318,10 +315,6 @@ func (s *Session) readVariableLength(sl *slice) (val []byte, err error) {
318315
l = int(sl.Uint16())
319316
}
320317

321-
if l > sl.Len() {
322-
return nil, io.EOF
323-
}
324-
325318
return sl.Cut(l), sl.Error()
326319
}
327320

read.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func Read(r io.Reader, bs []byte) ([]byte, MessageHeader, error) {
1717
}
1818

1919
var hdr MessageHeader
20-
hdr.unmarshal(NewSlice(bs))
20+
hdr.unmarshal(newSlice(bs))
2121

2222
if hdr.Version != 10 {
2323
return nil, hdr, ErrVersion

slice.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ type slice struct {
77
err error
88
}
99

10-
func NewSlice(bs []byte) *slice {
10+
func newSlice(bs []byte) *slice {
1111
return &slice{
1212
bs: bs,
1313
}

slice_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
)
77

88
func TestSliceCut(t *testing.T) {
9-
s := NewSlice([]byte{1, 2, 3, 4, 5, 6, 7, 8})
9+
s := newSlice([]byte{1, 2, 3, 4, 5, 6, 7, 8})
1010
r := s.Cut(4)
1111

1212
if !bytes.Equal(r, []byte{1, 2, 3, 4}) {
@@ -19,7 +19,7 @@ func TestSliceCut(t *testing.T) {
1919
}
2020

2121
func TestSliceUint16(t *testing.T) {
22-
s := NewSlice([]byte{1, 2, 3, 4, 5})
22+
s := newSlice([]byte{1, 2, 3, 4, 5})
2323

2424
if v := s.Uint16(); v != 1<<8+2 {
2525
t.Errorf("%v != 1<<8+2", v)

0 commit comments

Comments
 (0)