derp, wgengine/magicsock: support more than just packets from Client.Recv

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2020-02-20 19:10:54 -08:00
committed by Brad Fitzpatrick
parent 88f1cc0c98
commit 379a3125fd
7 changed files with 63 additions and 27 deletions

View File

@@ -167,16 +167,16 @@ func (c *Client) Send(dstKey key.Public, b []byte) error {
return err
}
func (c *Client) Recv(b []byte) (int, error) {
func (c *Client) Recv(b []byte) (derp.ReceivedMessage, error) {
client, err := c.connect(context.TODO(), "derphttp.Client.Recv")
if err != nil {
return 0, err
return nil, err
}
n, err := client.Recv(b)
m, err := client.Recv(b)
if err != nil {
c.close()
}
return n, err
return m, err
}
// Close closes the client. It will not automatically reconnect after