-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
go-peerstream transports: muxado #483
Conversation
peerstream was updated to use pluggable transports, including muxado. The interface was also simplified slightly.
used to return io.ErrShortBuffer, but this makes client code much more complicated. we're already allocating buffers when it's too large, so might as well just keep it for later.
@whyrusleeping you might also want to try 6ad158d directly, as a change to peerstream may have fixed things too, but it's a very low probability. (too bad i cant repro the problem or i'd try :( ) |
Hm. this may not actually work. i rebased
Seems like the streams are getting a bit mixed up or something... the protobufs aren't decoding properly. Though... it still manages to succeed:
|
If you see it succeed then the file definitely somehow managed to make it over correctly... Thats strange. |
I almost suspect that the unexpected EOF could be the result of a context cancelling and closing a connection mid-write. |
clients were already accessing secio in one thread, but it's safer to make sure it _is_ threadsafe
This commit replaces the go-peerstream transport, using muxado instead of spdystream.
go-peerstream transports: muxado
this was reverted, in favor of #484 |
This PR updates go-peerstream to the new abstracted
transport version. It also changes the default transport
to http://github.com/inconshreveable/muxado
@whyrusleeping: try out this branch with provider fixes
and see if it gets rid of the hang you were experiencing.
If not, the problem's on our side.