From 9d010fabc8af293af8a6b477af487fac4d3bdcd9 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Fri, 2 Sep 2016 21:12:23 +0100 Subject: [PATCH] refactor: extract makeEndpointNode helper --- probe/endpoint/reporter.go | 39 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/probe/endpoint/reporter.go b/probe/endpoint/reporter.go index fb32ede8d..a9d61a6b9 100644 --- a/probe/endpoint/reporter.go +++ b/probe/endpoint/reporter.go @@ -181,36 +181,27 @@ func (r *Reporter) Report() (report.Report, error) { func (r *Reporter) addConnection(rpt *report.Report, t fourTuple, namespaceID string, extraFromNode, extraToNode map[string]string) { var ( - fromEndpointNodeID = report.MakeEndpointNodeID(r.hostID, namespaceID, t.fromAddr, strconv.Itoa(int(t.fromPort))) - toEndpointNodeID = report.MakeEndpointNodeID(r.hostID, namespaceID, t.toAddr, strconv.Itoa(int(t.toPort))) - - fromNode = report.MakeNodeWith(fromEndpointNodeID, map[string]string{ - Addr: t.fromAddr, - Port: strconv.Itoa(int(t.fromPort)), - }).WithEdge(toEndpointNodeID, report.EdgeMetadata{}) - toNode = report.MakeNodeWith(toEndpointNodeID, map[string]string{ - Addr: t.toAddr, - Port: strconv.Itoa(int(t.toPort)), - }) + fromNode = r.makeEndpointNode(namespaceID, t.fromAddr, t.fromPort, extraFromNode) + toNode = r.makeEndpointNode(namespaceID, t.toAddr, t.toPort, extraToNode) ) + rpt.Endpoint = rpt.Endpoint.AddNode(fromNode.WithEdge(toNode.ID, report.EdgeMetadata{})) + rpt.Endpoint = rpt.Endpoint.AddNode(toNode) +} +func (r *Reporter) makeEndpointNode(namespaceID string, addr string, port uint16, extra map[string]string) report.Node { + portStr := strconv.Itoa(int(port)) + node := report.MakeNodeWith( + report.MakeEndpointNodeID(r.hostID, namespaceID, addr, portStr), + map[string]string{Addr: addr, Port: portStr}) // In case we have a reverse resolution for the IP, we can use it for // the name... - if fromNames, err := r.reverseResolver.get(t.fromAddr); err == nil { - fromNode = fromNode.WithSet(ReverseDNSNames, report.MakeStringSet(fromNames...)) + if names, err := r.reverseResolver.get(addr); err == nil { + node = node.WithSet(ReverseDNSNames, report.MakeStringSet(names...)) } - if toNames, err := r.reverseResolver.get(t.toAddr); err == nil { - toNode = toNode.WithSet(ReverseDNSNames, report.MakeStringSet(toNames...)) + if extra != nil { + node = node.WithLatests(extra) } - - if extraFromNode != nil { - fromNode = fromNode.WithLatests(extraFromNode) - } - if extraToNode != nil { - toNode = toNode.WithLatests(extraToNode) - } - rpt.Endpoint = rpt.Endpoint.AddNode(fromNode) - rpt.Endpoint = rpt.Endpoint.AddNode(toNode) + return node } func newu64(i uint64) *uint64 {