diff --git a/util/reporter/reporter.go b/util/reporter/reporter.go new file mode 100644 index 0000000..85a0acb --- /dev/null +++ b/util/reporter/reporter.go @@ -0,0 +1,27 @@ +package reporter + +import ( + "fmt" + + "github.com/xgadget-lab/nexttrace/methods" +) + +type Reporter interface { + Print() +} + +func New(rs map[uint16][]methods.TracerouteHop) Reporter { + r := reporter{ + routeResult: rs, + } + fmt.Println(r) + return &r +} + +type reporter struct { + routeResult map[uint16][]methods.TracerouteHop +} + +func (r *reporter) Print() { + fmt.Println(r) +} diff --git a/util/reporter/reporter_test.go b/util/reporter/reporter_test.go new file mode 100644 index 0000000..8aeb9f0 --- /dev/null +++ b/util/reporter/reporter_test.go @@ -0,0 +1,24 @@ +package reporter + +import ( + "testing" + "time" + + "github.com/xgadget-lab/nexttrace/methods" + "github.com/xgadget-lab/nexttrace/methods/tcp" + "github.com/xgadget-lab/nexttrace/util" +) + +func TestPrint(t *testing.T) { + ip := util.DomainLookUp("1.1.1.1") + tcpTraceroute := tcp.New(ip, methods.TracerouteConfig{ + MaxHops: uint16(30), + NumMeasurements: uint16(1), + ParallelRequests: uint16(1), + Port: 80, + Timeout: time.Second / 2, + }) + res, _ := tcpTraceroute.Start() + r := New(*res) + r.Print() +}