• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pions / transport
91%
master: 89%

Build:
Build:
LAST BUILD BRANCH: v0.5.0
DEFAULT BRANCH: master
Repo Added 18 Feb 2019 08:11AM UTC
Files 5
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH packetio
branch: packetio
CHANGE BRANCH
x
Reset
  • packetio
  • master
  • module
  • packet-conn
  • sctp-pr
  • sctp-rtx
  • setup-ci
  • transport-losschance
  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.5.0

pending completion
38

push

travis-ci

kixelated
Add packetio interface for network buffering

We're not able to use `bytes.Buffer` because it would combine multiple
Writes into a single Read. `packetio.Buffer` provides a similar but is
designed to work with packets, avoiding this situation.

There are similar buffers implemented separarely in webrtc/srtp/ice/mux.
These used channels and were too slow to keep up with the read loop. I
wrote a benchmark for comparison:

```
name                   old time/op    new time/op     delta
BenchmarkBuffer14-8       859ns ± 5%      129ns ± 4%   -84.93%
BenchmarkBuffer140-8      832ns ± 4%      154ns ± 4%   -81.43%
BenchmarkBuffer1400-8     825ns ± 8%      351ns ± 4%   -57.49%

name                   old speed      new speed       delta
BenchmarkBuffer14-8    16.3MB/s ± 5%  107.8MB/s ± 3%  +561.08%
BenchmarkBuffer140-8    168MB/s ± 4%    904MB/s ± 4%  +436.70%
BenchmarkBuffer1400-8  1.70GB/s ± 8%   3.99GB/s ± 4%  +134.74%
```

Note that the channel implementation has no buffer. packetio.Buffer has
a configurable buffer size with `SetLimitCount` and `SetLimitSize`.

329 of 363 relevant lines covered (90.63%)

20.91 hits per line

Relevant lines Covered
Build:
Build:
363 RELEVANT LINES 329 COVERED LINES
20.91 HITS PER LINE
Source Files on packetio
Detailed source file information is not available for this build.

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
38 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... push 07 Mar 2019 01:28AM UTC kixelated travis-ci pending completion  
39 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... Pull #7 07 Mar 2019 01:27AM UTC web-flow travis-ci pending completion  
37 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... Pull #7 07 Mar 2019 01:16AM UTC web-flow travis-ci pending completion  
36 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... push 07 Mar 2019 01:16AM UTC kixelated travis-ci pending completion  
34 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... push 05 Mar 2019 07:33PM UTC kixelated travis-ci pending completion  
35 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... Pull #7 05 Mar 2019 07:33PM UTC web-flow travis-ci pending completion  
33 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... Pull #7 05 Mar 2019 01:32AM UTC web-flow travis-ci pending completion  
32 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... push 05 Mar 2019 01:32AM UTC kixelated travis-ci pending completion  
29 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... Pull #7 05 Mar 2019 01:18AM UTC web-flow travis-ci pending completion  
28 packetio Add packetio interface for network buffering We're not able to use `bytes.Buffer` because it would combine multiple Writes into a single Read. `packetio.Buffer` provides a similar but is designed to work with packets, avoiding this situation. Th... push 05 Mar 2019 01:14AM UTC kixelated travis-ci pending completion  
See All Builds (51)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc