Developing lightweight computation at the DSG edge
Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
LightKone
go-ping
Commits
3d295adf
Commit
3d295adf
authored
Feb 01, 2016
by
Cameron Sparr
Browse files
README typos
parent
3535a0e9
Changes
1
Show whitespace changes
Inline
Side-by-side
README.md
View file @
3d295adf
...
...
@@ -7,36 +7,37 @@ ICMP Ping library for Go, inspired by
Here is a very simple example that sends & receives 3 packets:
```
go
pinger
,
err
:=
ping
.
NewPinger
(
"www.google.com"
)
if
err
!=
nil
{
pinger
,
err
:=
ping
.
NewPinger
(
"www.google.com"
)
if
err
!=
nil
{
panic
(
err
)
}
pinger
.
Count
=
3
pinger
.
Run
()
// blocks until finished
stats
:=
pinger
.
Statistics
()
// get send/receive/rtt stats
}
pinger
.
Count
=
3
pinger
.
Run
()
// blocks until finished
stats
:=
pinger
.
Statistics
()
// get send/receive/rtt stats
```
Here is an example that emulates the unix ping command:
```
go
pinger
,
err
:=
ping
.
NewPinger
(
"www.google.com"
)
if
err
!=
nil
{
fmt
.
Printf
(
"ERROR: %s
\n
"
,
err
.
Error
()
)
return
}
pinger
.
OnRecv
=
func
(
pkt
*
ping
.
Packet
)
{
pinger
,
err
:=
ping
.
NewPinger
(
"www.google.com"
)
if
err
!=
nil
{
panic
(
err
)
}
pinger
.
OnRecv
=
func
(
pkt
*
ping
.
Packet
)
{
fmt
.
Printf
(
"%d bytes from %s: icmp_seq=%d time=%v
\n
"
,
pkt
.
Nbytes
,
pkt
.
IPAddr
,
pkt
.
Seq
,
pkt
.
Rtt
)
}
pinger
.
OnFinish
=
func
(
stats
*
ping
.
Statistics
)
{
}
pinger
.
OnFinish
=
func
(
stats
*
ping
.
Statistics
)
{
fmt
.
Printf
(
"
\n
--- %s ping statistics ---
\n
"
,
stats
.
Addr
)
fmt
.
Printf
(
"%d packets transmitted, %d packets received, %v%% packet loss
\n
"
,
stats
.
PacketsSent
,
stats
.
PacketsRecv
,
stats
.
PacketLoss
)
fmt
.
Printf
(
"round-trip min/avg/max/stddev = %v/%v/%v/%v
\n
"
,
stats
.
MinRtt
,
stats
.
AvgRtt
,
stats
.
MaxRtt
,
stats
.
StdDevRtt
)
}
fmt
.
Printf
(
"PING %s (%s):
\n
"
,
pinger
.
Addr
(),
pinger
.
IPAddr
())
pinger
.
Run
()
}
fmt
.
Printf
(
"PING %s (%s):
\n
"
,
pinger
.
Addr
(),
pinger
.
IPAddr
())
pinger
.
Run
()
```
It sends ICMP packet(s) and waits for a response. If it receives a response,
...
...
@@ -44,7 +45,7 @@ it calls the "receive" callback. When it's finished, it calls the "finish"
callback.
For a full ping example, see
[
cmd/ping/ping.go
"
](
https://github.com/sparrc/go-ping/blob/master/cmd/ping/ping.go
)
[
cmd/ping/ping.go
](
https://github.com/sparrc/go-ping/blob/master/cmd/ping/ping.go
)
## Installation:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment