|
|
@ -140,7 +140,7 @@ func TestMConnectionPongTimeoutResultsInError(t *testing.T) { |
|
|
|
go func() { |
|
|
|
// read ping
|
|
|
|
var pkt PacketPing |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
assert.Nil(t, err) |
|
|
|
serverGotPing <- struct{}{} |
|
|
|
}() |
|
|
@ -176,22 +176,22 @@ func TestMConnectionMultiplePongsInTheBeginning(t *testing.T) { |
|
|
|
defer mconn.Stop() |
|
|
|
|
|
|
|
// sending 3 pongs in a row (abuse)
|
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
|
|
|
|
serverGotPing := make(chan struct{}) |
|
|
|
go func() { |
|
|
|
// read ping (one byte)
|
|
|
|
var packet, err = Packet(nil), error(nil) |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &packet, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &packet, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
serverGotPing <- struct{}{} |
|
|
|
// respond with pong
|
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
}() |
|
|
|
<-serverGotPing |
|
|
@ -227,18 +227,18 @@ func TestMConnectionMultiplePings(t *testing.T) { |
|
|
|
|
|
|
|
// sending 3 pings in a row (abuse)
|
|
|
|
// see https://github.com/tendermint/tendermint/issues/1190
|
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPing{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPing{})) |
|
|
|
require.Nil(t, err) |
|
|
|
var pkt PacketPong |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPing{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPing{})) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPing{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPing{})) |
|
|
|
require.Nil(t, err) |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
|
|
|
|
assert.True(t, mconn.IsRunning()) |
|
|
@ -270,20 +270,20 @@ func TestMConnectionPingPongs(t *testing.T) { |
|
|
|
go func() { |
|
|
|
// read ping
|
|
|
|
var pkt PacketPing |
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
serverGotPing <- struct{}{} |
|
|
|
// respond with pong
|
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
|
|
|
|
time.Sleep(mconn.config.PingInterval) |
|
|
|
|
|
|
|
// read ping
|
|
|
|
_, err = cdc.UnmarshalBinaryReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
_, err = cdc.UnmarshalBinaryLengthPrefixedReader(server, &pkt, maxPingPongPacketSize) |
|
|
|
require.Nil(t, err) |
|
|
|
// respond with pong
|
|
|
|
_, err = server.Write(cdc.MustMarshalBinary(PacketPong{})) |
|
|
|
_, err = server.Write(cdc.MustMarshalBinaryLengthPrefixed(PacketPong{})) |
|
|
|
require.Nil(t, err) |
|
|
|
}() |
|
|
|
<-serverGotPing |
|
|
@ -380,7 +380,7 @@ func TestMConnectionReadErrorBadEncoding(t *testing.T) { |
|
|
|
client := mconnClient.conn |
|
|
|
|
|
|
|
// send badly encoded msgPacket
|
|
|
|
bz := cdc.MustMarshalBinary(PacketMsg{}) |
|
|
|
bz := cdc.MustMarshalBinaryLengthPrefixed(PacketMsg{}) |
|
|
|
bz[4] += 0x01 // Invalid prefix bytes.
|
|
|
|
|
|
|
|
// Write it.
|
|
|
@ -428,7 +428,7 @@ func TestMConnectionReadErrorLongMessage(t *testing.T) { |
|
|
|
EOF: 1, |
|
|
|
Bytes: make([]byte, mconnClient.config.MaxPacketMsgPayloadSize), |
|
|
|
} |
|
|
|
_, err = cdc.MarshalBinaryWriter(buf, packet) |
|
|
|
_, err = cdc.MarshalBinaryLengthPrefixedWriter(buf, packet) |
|
|
|
assert.Nil(t, err) |
|
|
|
_, err = client.Write(buf.Bytes()) |
|
|
|
assert.Nil(t, err) |
|
|
@ -441,7 +441,7 @@ func TestMConnectionReadErrorLongMessage(t *testing.T) { |
|
|
|
EOF: 1, |
|
|
|
Bytes: make([]byte, mconnClient.config.MaxPacketMsgPayloadSize+100), |
|
|
|
} |
|
|
|
_, err = cdc.MarshalBinaryWriter(buf, packet) |
|
|
|
_, err = cdc.MarshalBinaryLengthPrefixedWriter(buf, packet) |
|
|
|
assert.Nil(t, err) |
|
|
|
_, err = client.Write(buf.Bytes()) |
|
|
|
assert.NotNil(t, err) |
|
|
|