Skip to content

Commit 64efcf4

Browse files
Merge pull request #13 from jalapeno-api-gateway/refactor-to-gobmp-fields
Refactor to gobmp fields
2 parents 214ca46 + 602e38b commit 64efcf4

23 files changed

+738
-736
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ out
55
.DS_Store
66
.docusaurus
77
node_modules
8-
okteto.yml
8+
okteto.yml
9+
go.work*

go.mod

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,41 @@ require (
99
github.com/google/uuid v1.6.0
1010
github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c
1111
github.com/influxdata/line-protocol v0.0.0-20210922203350-b1ad95c89adf
12+
github.com/jalapeno-api-gateway/jagw-go v1.4.0
1213
github.com/nqd/flat v0.2.0
14+
github.com/sbezverk/gobmp v1.0.3-0.20230414141753-29b5fa2e1103
1315
github.com/sirupsen/logrus v1.9.3
16+
google.golang.org/grpc v1.64.0
1417
google.golang.org/protobuf v1.34.2
1518
)
1619

1720
require (
1821
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e // indirect
19-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
22+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2023
github.com/davecgh/go-spew v1.1.1 // indirect
2124
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
2225
github.com/eapache/go-resiliency v1.6.0 // indirect
2326
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
2427
github.com/eapache/queue v1.1.0 // indirect
28+
github.com/golang/glog v1.2.1 // indirect
2529
github.com/golang/snappy v0.0.4 // indirect
26-
github.com/hashicorp/errwrap v1.0.0 // indirect
30+
github.com/hashicorp/errwrap v1.1.0 // indirect
2731
github.com/hashicorp/go-multierror v1.1.1 // indirect
2832
github.com/hashicorp/go-uuid v1.0.3 // indirect
29-
github.com/imdario/mergo v0.3.12 // indirect
33+
github.com/imdario/mergo v0.3.16 // indirect
3034
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
3135
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
3236
github.com/jcmturner/gofork v1.7.6 // indirect
3337
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
3438
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
35-
github.com/klauspost/compress v1.17.8 // indirect
39+
github.com/klauspost/compress v1.17.9 // indirect
3640
github.com/pierrec/lz4/v4 v4.1.21 // indirect
3741
github.com/pkg/errors v0.9.1 // indirect
3842
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
43+
github.com/sbezverk/tools v0.0.0-20230829072858-5ef962b0f1c0 // indirect
3944
golang.org/x/crypto v0.24.0 // indirect
4045
golang.org/x/net v0.26.0 // indirect
41-
golang.org/x/text v0.16.0 // indirect
42-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240610135401-a8a62080eff3 // indirect
43-
)
44-
45-
require (
46-
github.com/jalapeno-api-gateway/jagw-go v1.3.5
4746
golang.org/x/sys v0.21.0 // indirect
48-
google.golang.org/grpc v1.64.0
47+
golang.org/x/text v0.16.0 // indirect
48+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4 // indirect
4949
)

go.sum

Lines changed: 57 additions & 10 deletions
Large diffs are not rendered by default.

pkg/arango/base-types.go

Lines changed: 0 additions & 7 deletions
This file was deleted.

pkg/arango/document-types.go

Lines changed: 45 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,69 @@
11
package arango
22

3+
import (
4+
"encoding/json"
5+
6+
"github.com/sbezverk/gobmp/pkg/message"
7+
)
8+
39
// Information on Collections is taken from here:
4-
// https://github.com/sbezverk/gobmp/blob/master/pkg/message/types.go
5-
type LSNode struct {
6-
ID string `json:"_id,omitempty"`
7-
Key string `json:"_key,omitempty"`
8-
RouterHash string `json:"router_hash,omitempty"`
9-
DomainID int64 `json:"domain_id,omitempty"`
10-
RouterIP string `json:"router_ip,omitempty"`
11-
PeerHash string `json:"peer_hash,omitempty"`
12-
PeerIP string `json:"peer_ip,omitempty"`
13-
PeerASN int32 `json:"peer_asn,omitempty"`
14-
Timestamp string `json:"timestamp,omitempty"`
15-
IGPRouterID string `json:"igp_router_id,omitempty"`
16-
ASN uint32 `json:"asn,omitempty"`
17-
MTID []*MultiTopologyIdentifier `json:"mt_id_tlv,omitempty"`
18-
AreaID string `json:"area_id,omitempty"`
19-
Protocol string `json:"protocol,omitempty"`
20-
ProtocolID uint8 `json:"protocol_id,omitempty"`
21-
Name string `json:"name,omitempty"`
22-
IsPrepolicy bool `json:"is_prepolicy,omitempty"`
23-
IsAdjRIBIn bool `json:"is_adj_rib_in,omitempty"`
10+
// // https://github.com/sbezverk/gobmp/blob/master/pkg/message/types.go
11+
type LsNode struct {
12+
message.LSNode
13+
}
14+
15+
func (node LsNode) MarshalBinary() ([]byte, error) {
16+
return json.Marshal(node)
17+
}
18+
19+
type LsLink struct {
20+
message.LSLink
21+
UnidirPacketLossPercentage float64 `json:"undir_packet_loss_percentage,omitempty"`
22+
NormalizedUnidirLinkDelay float64 `json:"normalized_unidir_link_delay,omitempty"`
23+
NormalizedUnidirDelayVariation float64 `json:"normalized_unidir_delay_variation,omitempty"`
24+
NormalizedUnidirPacketLoss float64 `json:"normalized_unidir_packet_loss,omitempty"`
25+
}
26+
27+
func (link LsLink) MarshalBinary() ([]byte, error) {
28+
return json.Marshal(link)
29+
}
30+
31+
type LsPrefix struct {
32+
message.LSPrefix
2433
}
2534

26-
type LSLink struct {
27-
ID string `json:"_id,omitempty"`
28-
Key string `json:"_key,omitempty"`
29-
RouterHash string `json:"router_hash,omitempty"`
30-
RouterIP string `json:"router_ip,omitempty"`
31-
DomainID int64 `json:"domain_id,omitempty"`
32-
PeerHash string `json:"peer_hash,omitempty"`
33-
PeerIP string `json:"peer_ip,omitempty"`
34-
PeerASN int32 `json:"peer_asn,omitempty"`
35-
Timestamp string `json:"timestamp,omitempty"`
36-
IGPRouterID string `json:"igp_router_id,omitempty"`
37-
Protocol string `json:"protocol,omitempty"`
38-
AreaID string `json:"area_id,omitempty"`
39-
Nexthop string `json:"nexthop,omitempty"`
40-
MTID *MultiTopologyIdentifier `json:"mt_id_tlv,omitempty"`
41-
LocalLinkIP string `json:"local_link_ip,omitempty"`
42-
RemoteLinkIP string `json:"remote_link_ip,omitempty"`
43-
IGPMetric uint32 `json:"igp_metric,omitempty"`
44-
RemoteNodeHash string `json:"remote_node_hash,omitempty"`
45-
LocalNodeHash string `json:"local_node_hash,omitempty"`
46-
RemoteIGPRouterID string `json:"remote_igp_router_id,omitempty"`
47-
UnidirLinkDelay uint32 `json:"unidir_link_delay,omitempty"`
48-
UnidirLinkDelayMinMax []uint32 `json:"unidir_link_delay_min_max,omitempty"`
49-
MaxLinkBwKbps uint64 `json:"max_link_bw_kbps,omitempty"`
50-
UnidirDelayVariation uint32 `json:"unidir_delay_variation,omitempty"`
51-
UnidirPacketLoss float32 `json:"unidir_packet_loss,omitempty"`
52-
UnidirResidualBw uint32 `json:"unidir_residual_bw,omitempty"`
53-
UnidirAvailableBw uint32 `json:"unidir_available_bw,omitempty"`
54-
UnidirBwUtilization uint32 `json:"unidir_bw_utilization,omitempty"`
55-
NormalizedUnidirLinkDelay float64 `json:"normalized_unidir_link_delay,omitempty"`
56-
NormalizedUnidirDelayVariation float64 `json:"normalized_unidir_delay_variation,omitempty"`
57-
NormalizedUnidirPacketLoss float64 `json:"normalized_unidir_packet_loss,omitempty"`
35+
func (prefix LsPrefix) MarshalBinary() ([]byte, error) {
36+
return json.Marshal(prefix)
5837
}
5938

60-
type LSPrefix struct {
61-
Key string `json:"_key,omitempty"`
62-
ID string `json:"_id,omitempty"`
63-
RouterHash string `json:"router_hash,omitempty"`
64-
RouterIP string `json:"router_ip,omitempty"`
65-
DomainID int64 `json:"domain_id,omitempty"`
66-
PeerHash string `json:"peer_hash,omitempty"`
67-
PeerIP string `json:"peer_ip,omitempty"`
68-
PeerASN int32 `json:"peer_asn,omitempty"`
69-
Timestamp string `json:"timestamp,omitempty"`
70-
IGPRouterID string `json:"igp_router_id,omitempty"`
71-
Protocol string `json:"protocol,omitempty"`
72-
AreaID string `json:"area_id,omitempty"`
73-
Nexthop string `json:"nexthop,omitempty"`
74-
LocalNodeHash string `json:"local_node_hash,omitempty"`
75-
MTID *MultiTopologyIdentifier `json:"mt_id_tlv,omitempty"`
76-
Prefix string `json:"prefix,omitempty"`
77-
PrefixLen int32 `json:"prefix_len,omitempty"`
78-
PrefixMetric uint32 `json:"prefix_metric,omitempty"`
79-
IsPrepolicy bool `json:"is_prepolicy,omitempty"`
80-
IsAdjRIBIn bool `json:"is_adj_rib_in,omitempty"`
39+
type LsSrv6Sid struct {
40+
message.LSSRv6SID
8141
}
8242

83-
type LSSRv6SID struct {
84-
Key string `json:"_key,omitempty"`
85-
ID string `json:"_id,omitempty"`
86-
RouterHash string `json:"router_hash,omitempty"`
87-
RouterIP string `json:"router_ip,omitempty"`
88-
DomainID int64 `json:"domain_id,omitempty"`
89-
PeerHash string `json:"peer_hash,omitempty"`
90-
PeerIP string `json:"peer_ip,omitempty"`
91-
PeerASN int32 `json:"peer_asn,omitempty"`
92-
Timestamp string `json:"timestamp,omitempty"`
93-
IGPRouterID string `json:"igp_router_id,omitempty"`
94-
LocalNodeASN uint32 `json:"local_node_asn,omitempty"`
95-
Protocol string `json:"protocol,omitempty"`
96-
Nexthop string `json:"nexthop,omitempty"`
97-
LocalNodeHash string `json:"local_node_hash,omitempty"`
98-
MTID *MultiTopologyIdentifier `json:"mt_id_tlv,omitempty"`
99-
IGPFlags uint8 `json:"igp_flags,omitempty"`
100-
IsPrepolicy bool `json:"is_prepolicy,omitempty"`
101-
IsAdjRIBIn bool `json:"is_adj_rib_in,omitempty"`
102-
SRv6SID string `json:"srv6_sid,omitempty"`
43+
func (srv6sid LsSrv6Sid) MarshalBinary() ([]byte, error) {
44+
return json.Marshal(srv6sid)
10345
}
10446

105-
type LSNode_Edge struct {
47+
type LsNodeEdge struct {
10648
Key string `json:"_key,omitempty"`
10749
ID string `json:"_id,omitempty"`
10850
From string `json:"_from,omitempty"`
10951
To string `json:"_to,omitempty"`
11052
Link string `json:"link,omitempty"`
11153
}
11254

113-
type LSNode_Coordinates struct {
55+
func (edge LsNodeEdge) MarshalBinary() ([]byte, error) {
56+
return json.Marshal(edge)
57+
}
58+
59+
type LsNodeCoordinates struct {
11460
Key string `json:"_key,omitempty"`
11561
ID string `json:"_id,omitempty"`
11662
LsNodeKey string `json:"ls_node_key,omitempty"`
11763
Latitude float64 `json:"latitude,omitempty"`
11864
Longitude float64 `json:"longitude,omitempty"`
11965
}
66+
67+
func (coordinates LsNodeCoordinates) MarshalBinary() ([]byte, error) {
68+
return json.Marshal(coordinates)
69+
}

0 commit comments

Comments
 (0)