Compare commits
No commits in common. "47645a8fce7a65b7c67a349f4640f2b27a94abb0" and "f6fe9c307d931fba212a068d48ecf7777607fcdc" have entirely different histories.
47645a8fce
...
f6fe9c307d
@ -2,7 +2,6 @@ package hopp
|
|||||||
|
|
||||||
import "io"
|
import "io"
|
||||||
import "net"
|
import "net"
|
||||||
import "errors"
|
|
||||||
import "context"
|
import "context"
|
||||||
import "git.tebibyte.media/sashakoshka/hopp/tape"
|
import "git.tebibyte.media/sashakoshka/hopp/tape"
|
||||||
|
|
||||||
@ -127,7 +126,7 @@ type Stream interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func encodeMessageB(writer io.Writer, sizeLimit int64, method uint16, data []byte) error {
|
func encodeMessageB(writer io.Writer, sizeLimit int64, method uint16, data []byte) error {
|
||||||
if int64(len(data)) > sizeLimit {
|
if len(data) > int(sizeLimit) {
|
||||||
return ErrPayloadTooLarge
|
return ErrPayloadTooLarge
|
||||||
}
|
}
|
||||||
buffer := make([]byte, 10 + len(data))
|
buffer := make([]byte, 10 + len(data))
|
||||||
@ -149,10 +148,7 @@ func decodeMessageB(
|
|||||||
) {
|
) {
|
||||||
headerBuffer := [10]byte { }
|
headerBuffer := [10]byte { }
|
||||||
_, err = io.ReadFull(reader, headerBuffer[:])
|
_, err = io.ReadFull(reader, headerBuffer[:])
|
||||||
if err != nil {
|
if err != nil { return 0, 0, nil, err }
|
||||||
if errors.Is(err, io.EOF) { return 0, 0, nil, io.ErrUnexpectedEOF }
|
|
||||||
return 0, 0, nil, err
|
|
||||||
}
|
|
||||||
method, err = tape.DecodeI16[uint16](headerBuffer[:2])
|
method, err = tape.DecodeI16[uint16](headerBuffer[:2])
|
||||||
if err != nil { return 0, 0, nil, err }
|
if err != nil { return 0, 0, nil, err }
|
||||||
length, err := tape.DecodeI64[uint64](headerBuffer[2:10])
|
length, err := tape.DecodeI64[uint64](headerBuffer[2:10])
|
||||||
|
@ -53,7 +53,9 @@ func TestDecodeMessageB(test *testing.T) {
|
|||||||
|
|
||||||
func TestDecodeMessageBErr(test *testing.T) {
|
func TestDecodeMessageBErr(test *testing.T) {
|
||||||
_, _, _, err := decodeMessageB(bytes.NewReader([]byte {
|
_, _, _, err := decodeMessageB(bytes.NewReader([]byte {
|
||||||
0x6B, 0x12, 0x00, 0x00, 0x00, 0x00,
|
0x6B, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0x06,
|
||||||
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
|
||||||
}), defaultSizeLimit)
|
}), defaultSizeLimit)
|
||||||
if !errors.Is(err, io.ErrUnexpectedEOF) {
|
if !errors.Is(err, io.ErrUnexpectedEOF) {
|
||||||
test.Fatalf("wrong error: %v", err)
|
test.Fatalf("wrong error: %v", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user