Use wire.*LengthPrefixed

This commit is contained in:
Jae Kwon
2015-12-20 09:16:05 -08:00
parent a357f3156a
commit 3393fc34c2
3 changed files with 10 additions and 9 deletions

View File

@ -241,27 +241,27 @@ func makeRequest(conn net.Conn, req types.Request) (types.Response, error) {
var err error var err error
// Write desired request // Write desired request
wire.WriteBinary(req, conn, &n, &err) wire.WriteBinaryLengthPrefixed(req, conn, &n, &err)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Write flush request // Write flush request
wire.WriteBinary(types.RequestFlush{}, conn, &n, &err) wire.WriteBinaryLengthPrefixed(types.RequestFlush{}, conn, &n, &err)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Read desired response // Read desired response
var res types.Response var res types.Response
wire.ReadBinaryPtr(&res, conn, 0, &n, &err) wire.ReadBinaryPtrLengthPrefixed(&res, conn, 0, &n, &err)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Read flush response // Read flush response
var resFlush types.ResponseFlush var resFlush types.ResponseFlush
wire.ReadBinaryPtr(&resFlush, conn, 0, &n, &err) wire.ReadBinaryPtrLengthPrefixed(&resFlush, conn, 0, &n, &err)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -35,6 +35,7 @@ func TestStream(t *testing.T) {
var n int var n int
var err error var err error
var res types.Response var res types.Response
wire.ReadVarint(conn, &n, &err) // ignore
wire.ReadBinaryPtr(&res, conn, 0, &n, &err) wire.ReadBinaryPtr(&res, conn, 0, &n, &err)
if err != nil { if err != nil {
Exit(err.Error()) Exit(err.Error())
@ -71,7 +72,7 @@ func TestStream(t *testing.T) {
var n int var n int
var err error var err error
var req types.Request = types.RequestAppendTx{TxBytes: []byte("test")} var req types.Request = types.RequestAppendTx{TxBytes: []byte("test")}
wire.WriteBinary(req, conn, &n, &err) wire.WriteBinaryLengthPrefixed(req, conn, &n, &err)
if err != nil { if err != nil {
t.Fatal(err.Error()) t.Fatal(err.Error())
} }
@ -79,7 +80,7 @@ func TestStream(t *testing.T) {
// Sometimes send flush messages // Sometimes send flush messages
if counter%123 == 0 { if counter%123 == 0 {
t.Log("flush") t.Log("flush")
wire.WriteBinary(types.RequestFlush{}, conn, &n, &err) wire.WriteBinaryLengthPrefixed(types.RequestFlush{}, conn, &n, &err)
if err != nil { if err != nil {
t.Fatal(err.Error()) t.Fatal(err.Error())
} }
@ -88,7 +89,7 @@ func TestStream(t *testing.T) {
// Send final flush message // Send final flush message
var n int var n int
wire.WriteBinary(types.RequestFlush{}, conn, &n, &err) wire.WriteBinaryLengthPrefixed(types.RequestFlush{}, conn, &n, &err)
if err != nil { if err != nil {
t.Fatal(err.Error()) t.Fatal(err.Error())
} }

View File

@ -85,7 +85,7 @@ func handleRequests(appC types.AppContext, closeConn chan error, conn net.Conn,
var n int var n int
var err error var err error
var req types.Request var req types.Request
wire.ReadBinaryPtr(&req, bufReader, 0, &n, &err) wire.ReadBinaryPtrLengthPrefixed(&req, bufReader, 0, &n, &err)
if err != nil { if err != nil {
if err == io.EOF { if err == io.EOF {
closeConn <- fmt.Errorf("Connection closed by client") closeConn <- fmt.Errorf("Connection closed by client")
@ -146,7 +146,7 @@ func handleResponses(closeConn chan error, responses <-chan types.Response, conn
var res = <-responses var res = <-responses
var n int var n int
var err error var err error
wire.WriteBinary(res, bufWriter, &n, &err) wire.WriteBinaryLengthPrefixed(res, bufWriter, &n, &err)
if err != nil { if err != nil {
closeConn <- fmt.Errorf("Error in handleResponses: %v", err.Error()) closeConn <- fmt.Errorf("Error in handleResponses: %v", err.Error())
return return