func parseInboundFragment(framePool FramePool, frame *Frame, message message) (*readableFragment, error) {
	rbuf := typed.NewReadBuffer(frame.SizedPayload())
	fragment := new(readableFragment)
	fragment.flags = rbuf.ReadSingleByte()
	if err := message.read(rbuf); err != nil {
		return nil, err
	}

	fragment.checksumType = ChecksumType(rbuf.ReadSingleByte())
	fragment.checksum = rbuf.ReadBytes(fragment.checksumType.ChecksumSize())
	fragment.contents = rbuf
	fragment.onDone = func() {
		framePool.Release(frame)
	}
	return fragment, rbuf.Err()
}
func parseInboundFragment(framePool FramePool, frame *Frame, message message) (*readableFragment, error) {
	rbuf := typed.NewReadBuffer(frame.SizedPayload())
	fragment := new(readableFragment)
	fragment.flags = rbuf.ReadSingleByte()
	if err := message.read(rbuf); err != nil {
		return nil, err
	}

	fragment.checksumType = ChecksumType(rbuf.ReadSingleByte())
	fragment.checksum = rbuf.ReadBytes(fragment.checksumType.ChecksumSize())
	fragment.contents = rbuf
	fragment.onDone = func() {
		framePool.Release(frame)
	}
	return fragment, rbuf.Err()
}
func parseInboundFragment ( framePool FramePool , frame * Frame , message message ) ( * readableFragment , error ) { rbuf := typed . NewReadBuffer ( frame . SizedPayload ( ) ) fragment := new ( readableFragment ) fragment . flags = rbuf . ReadSingleByte ( ) if err := message . read ( rbuf ) ; err != nil { return nil , err } fragment . checksumType = ChecksumType ( rbuf . ReadSingleByte ( ) ) fragment . checksum = rbuf . ReadBytes ( fragment . checksumType . ChecksumSize ( ) ) fragment . contents = rbuf fragment . onDone = func ( ) { framePool . Release ( frame ) } return fragment , rbuf . Err ( ) }
// parseInboundFragment parses an incoming fragment based on the given message
parseInboundFragment parses an incoming fragment based on the given message