protocollabs / mapago Goto Github PK
View Code? Open in Web Editor NEWReference implementation using Command Line Interface written in Go
Reference implementation using Command Line Interface written in Go
error message:
Closed network detected!
handleTcpConn goroutine called
panic: interface conversion: error is *errors.errorString, not *net.OpError
goroutine 35 [running]:
github.com/protocollabs/mapago/measurement-plane/tcp-throughput.(*TcpMsmtObj).tcpServerWorker(0xc000188000, 0xc000186120, 0xc0001860c0, 0x1b58, 0x1, 0xc00016c0f0, 0xc00018a1d0)
/home/pfeifer/src/code/go/src/github.com/protocollabs/mapago/measurement-plane/tcp-throughput/server.go:149 +0x7bf
created by github.com/protocollabs/mapago/measurement-plane/tcp-throughput.NewTcpMsmtObj
/home/pfeifer/src/code/go/src/github.com/protocollabs/mapago/measurement-plane/tcp-throughput/server.go:74 +0x382
After porting both implementation should behave compatible over the air - if not something strange happens: the protocol specification war not error free or an implementation bug.
go install mapago-client.go
go install: no install location for .go files listed on command line (GOBIN not set)
Why does it call go install? Should call go build
...
Please: wrote a full example in the README.md how to install and build the package. Inculding how to setup GOPATH. New users (not aware of go) should copy and paste the shell commands and execute them. At the end the executable should be generated.
There is no wrong:
cd $GOPATH/github.com/protocollabs/mapago
/home/pfeifer/go/src/github.com/protocollabs/mapago
make install
go build -ldflags "-X github.com/protocollabs/mapago/core.BuildVersion=347e346 -X github.com/protocollabs/mapago/core.BuildDate=2019-03-11T15:26:54+0100" -o mapago cmd/mapago/mapago.go
stat cmd/mapago/mapago.go: no such file or directory
make: *** [Makefile:19: mapago] Error 1
Just tiny cleanup:
mapago-client -ctrl-addr localhost -ctrl-protocol tcp -msmt-type tcp-throughput
should be
mapago-client -ctrl-addr localhost -ctrl-protocol tcp -module tcp-throughput
Check the available Quic Implementations. Answer questrions like:
@yocto-master:~ $ go get github.com/protocollabs/mapago
# github.com/protocollabs/mapago
go/src/github.com/protocollabs/mapago/mapago-server.go:9:5: CTRL_PORT redeclared in this block
previous declaration at go/src/github.com/protocollabs/mapago/mapago-client.go:15:5
go/src/github.com/protocollabs/mapago/mapago-server.go:10:5: DEF_BUFFER_SIZE redeclared in this block
previous declaration at go/src/github.com/protocollabs/mapago/mapago-client.go:16:5
go/src/github.com/protocollabs/mapago/mapago-server.go:12:6: main redeclared in this block
previous declaration at go/src/github.com/protocollabs/mapago/mapago-client.go:29:6
Cannot construct uuid exec: "uuidgen": executable file not found in $PATH
A program should never assume that some other program is installed. It should mentioned in the README that some other packages are required.
BUT: uuid should not be called externally, just use one of the many uuid go libraries, e.g. google uuid, and use these.
mapago will not be platform independent if external programs are used (e.g. how to install uuidgen in windows? uuidgen.exe?
-> mapago
and then again mapago client <argument>
and mapago server <arguments>
should work again.
When I type make
the following output:
go build -ldflags "-X github.com/protocollabs/mapago/core.BuildVersion=1cd2689 -X github.com/protocollabs/mapago/core.BuildDate=2019-01-11T21:28:56+0100" -o mapago cmd/mapago/mapago.go
stat cmd/mapago/mapago.go: no such file or directory
make: *** [Makefile:19: mapago] Error 1
When I type make
the following output:
go build -ldflags "-X github.com/protocollabs/mapago/core.BuildVersion=1cd2689 -X github.com/protocollabs/mapago/core.BuildDate=2019-01-11T21:28:56+0100" -o mapago cmd/mapago/mapago.go
stat cmd/mapago/mapago.go: no such file or directory
make: *** [Makefile:19: mapago] Error 1
Probably irtt has some nice ideas for the rtt module, additionally it provides a nice way to learn go code:
Try to understand why a special go construct was used! Was it the best way, are there any better (read: extendable, better maintainable!) constructs?
Try to dig into the code!
The solution is also there: "du aber betrachtest dann doch die "in dieser runde" erhaltenen bytes (bytes_msmt_point - bytes_rx) aber zur gesamtzeit (datetime_min wird ziemlich sicher nicht kleiner als bei dem vorherigen datum" => wrong result
go build -ldflags "-X github.com/protocollabs/mapago/core.BuildVersion=7ccd5de -X github.com/protocollabs/mapago/core.BuildDate=2019-03-09T20:04:02+0100" mapago-server.go
go build -ldflags "-X github.com/protocollabs/mapago/core.BuildVersion=7ccd5de -X github.com/protocollabs/mapago/core.BuildDate=2019-03-09T20:04:02+0100" mapago-client.go
mapago-client.go:14:8: cannot find package "github.com/protocollabs/mapago/measurement-plane/tcp-tls-throughput" in any of:
/usr/lib/go-1.11/src/github.com/protocollabs/mapago/measurement-plane/tcp-tls-throughput (from $GOROOT)
/home/pfeifer/src/code/go/src/github.com/protocollabs/mapago/measurement-plane/tcp-tls-throughput (from $GOPATH)
make: *** [Makefile:21: mapago] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.