summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/net/route/message.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/net/route/message.go')
-rw-r--r--vendor/golang.org/x/net/route/message.go72
1 files changed, 0 insertions, 72 deletions
diff --git a/vendor/golang.org/x/net/route/message.go b/vendor/golang.org/x/net/route/message.go
deleted file mode 100644
index 0fa7e09..0000000
--- a/vendor/golang.org/x/net/route/message.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin dragonfly freebsd netbsd openbsd
-
-package route
-
-// A Message represents a routing message.
-type Message interface {
- // Sys returns operating system-specific information.
- Sys() []Sys
-}
-
-// A Sys reprensents operating system-specific information.
-type Sys interface {
- // SysType returns a type of operating system-specific
- // information.
- SysType() SysType
-}
-
-// A SysType represents a type of operating system-specific
-// information.
-type SysType int
-
-const (
- SysMetrics SysType = iota
- SysStats
-)
-
-// ParseRIB parses b as a routing information base and returns a list
-// of routing messages.
-func ParseRIB(typ RIBType, b []byte) ([]Message, error) {
- if !typ.parseable() {
- return nil, errUnsupportedMessage
- }
- var msgs []Message
- nmsgs, nskips := 0, 0
- for len(b) > 4 {
- nmsgs++
- l := int(nativeEndian.Uint16(b[:2]))
- if l == 0 {
- return nil, errInvalidMessage
- }
- if len(b) < l {
- return nil, errMessageTooShort
- }
- if b[2] != sysRTM_VERSION {
- b = b[l:]
- continue
- }
- if w, ok := wireFormats[int(b[3])]; !ok {
- nskips++
- } else {
- m, err := w.parse(typ, b)
- if err != nil {
- return nil, err
- }
- if m == nil {
- nskips++
- } else {
- msgs = append(msgs, m)
- }
- }
- b = b[l:]
- }
- // We failed to parse any of the messages - version mismatch?
- if nmsgs != len(msgs)+nskips {
- return nil, errMessageMismatch
- }
- return msgs, nil
-}