go-graphsync
go-graphsync copied to clipboard
Initial Implementation Of GraphSync Wire Protocol
# Goals This came about cause we found some high volume clients were using the default config and having poor results because of it. Felt like we should document this...
# Goals WIP, an attempt to extract large portions of the underlying networking layer into a generic library
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0. Commits 8e2b117 http2/hpack: avoid quadratic complexity in hpack decoding 547e7ed http2: avoid referencing ResponseWrite.Write parameter after returning 39940ad html: parse comments per HTML spec...
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0. Commits 8e2b117 http2/hpack: avoid quadratic complexity in hpack decoding 547e7ed http2: avoid referencing ResponseWrite.Write parameter after returning 39940ad html: parse comments per HTML spec...
# Goals show TestMessageSendAndReceive in network/libp2p_impl_test.go will fail solely by upgrading from v0.3.0 to v0.3.1 of go-multistream
# Goals Diagnose issue in test failure after upgrading libp2p from 0.16.1 -> 0.20.1. # Implementation it appears calling stream.Close() too quickly returns an error? Adding a sleep fixes the...
Kind of weird, and the failure outcomes are not consistent: macos seems OK, Windows seems to consistently fail, Linux seems to be flaky. Ref: https://github.com/ipfs/go-graphsync/pull/378
Specs @ https://github.com/ipld/ipld/tree/master/specs/transport/graphsync -> https://ipld.io/specs/transport/graphsync/ Needs updating for latest work, particularly: * Messaging format for v 2 * Metadata not considered an extension now * Other sanity check & cleanup...
For metadata only requests, it may prove quite useful to add a BlockSize field to metadata, so we can factor raw bytes into decisions about how far to look ahead...