func (f *message) GetRequestReaderByteBuffer() remote.ByteBuffer {
	return f.request
}
GetRequestReaderByteBuffer implements the Message interface.
package invoke
import (
	"errors"
	"net"
	"time"
	"github.com/cloudwego/netpoll"
	"github.com/cloudwego/kitex/pkg/remote"
	internal_netpoll "github.com/cloudwego/kitex/pkg/remote/trans/netpoll"
)
var _ Message = &message{}
type PayloadHandler interface {
	SetRequestBytes(buf []byte) error
	GetResponseBytes() ([]byte, error)
	GetRequestReaderByteBuffer() remote.ByteBuffer
	GetResponseWriterByteBuffer() remote.ByteBuffer
	Release() error
}
type Message interface {
	net.Conn
	PayloadHandler
}
type message struct {
	localAddr  net.Addr
	remoteAddr net.Addr
	request    remote.ByteBuffer
	response   remote.ByteBuffer
}
func NewMessage(local, remote net.Addr) Message {
	return &message{
		localAddr:  local,
		remoteAddr: remote,
	}
}
func (f *message) Read(b []byte) (n int, err error) {
	return 0, nil
}
func (f *message) Write(b []byte) (n int, err error) {
	return 0, nil
}
func (f *message) Close() error {
	return nil
}
func (f *message) LocalAddr() net.Addr {
	return f.localAddr
}
func (f *message) RemoteAddr() net.Addr {
	return f.remoteAddr
}
func (f *message) SetDeadline(t time.Time) error {
	return nil
}
func (f *message) SetReadDeadline(t time.Time) error {
	return nil
}
func (f *message) SetWriteDeadline(t time.Time) error {
	return nil
}
func (f *message) SetRequestBytes(buf []byte) error {
	f.request = remote.NewReaderBuffer(buf)
	return nil
}
func (f *message) GetResponseBytes() ([]byte, error) {
	if f.response == nil {
		return nil, errors.New("response not init yet")
	}
	return f.response.Peek(f.response.ReadableLen())
}