status-go/vendor/github.com/libp2p/go-msgio
RichΛrd 0babdad17b
chore: upgrade go-waku to v0.5 (#3213)
* chore: upgrade go-waku to v0.5
* chore: add println and logs to check what's being stored in the enr, and preemptively delete the multiaddr field (#3219)
* feat: add wakuv2 test (#3218)
2023-02-22 17:58:17 -04:00
..
pbio chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
protoio chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
LICENSE
README.md feat: wakuv2 store (#2780) 2022-08-19 12:34:07 -04:00
fuzz.go chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
limit.go
msgio.go chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
num.go chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
varint.go
version.json chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00

README.md

go-msgio - Message IO

codecov Travis CI Discourse posts

This is a simple package that helps read and write length-delimited slices. It's helpful for building wire protocols.

Usage

Reading

import "github.com/libp2p/go-msgio"
rdr := ... // some reader from a wire
mrdr := msgio.NewReader(rdr)

for {
  msg, err := mrdr.ReadMsg()
  if err != nil {
    return err
  }

  doSomething(msg)
}

Writing

import "github.com/libp2p/go-msgio"
wtr := genReader()
mwtr := msgio.NewWriter(wtr)

for {
  msg := genMessage()
  err := mwtr.WriteMsg(msg)
  if err != nil {
    return err
  }
}

Duplex

import "github.com/libp2p/go-msgio"
rw := genReadWriter()
mrw := msgio.NewReadWriter(rw)

for {
  msg, err := mrdr.ReadMsg()
  if err != nil {
    return err
  }

  // echo it back :)
  err = mwtr.WriteMsg(msg)
  if err != nil {
    return err
  }
}

The last gx published version of this module was: 0.0.6: QmcxL9MDzSU5Mj1GcWZD8CXkAFuJXjdbjotZ93o371bKSf