2018-04-03 17:58:26 +09:00
|
|
|
package protocol
|
|
|
|
|
|
|
|
// ServerCodec creates a ServerRequestCodec to process each request.
|
|
|
|
type ServerCodec interface {
|
|
|
|
NewRequest(buf []byte) (ServerRequestCodec, error)
|
2018-04-06 16:50:10 +09:00
|
|
|
NewRequestWithString(method string, params []string, id interface{}) (ServerRequestCodec, error)
|
2018-04-03 17:58:26 +09:00
|
|
|
NewNotification(method string, args []interface{}) ([]byte, error)
|
|
|
|
}
|
|
|
|
|
|
|
|
// ServerRequestCodec decodes a request and encodes a response using a specific
|
|
|
|
// serialization scheme.
|
|
|
|
type ServerRequestCodec interface {
|
|
|
|
RegistryCodec
|
|
|
|
|
2018-04-05 13:54:34 +09:00
|
|
|
HasResponse() bool
|
2018-04-05 10:12:33 +09:00
|
|
|
NewResponse(reply interface{}, err error) ([]byte, error)
|
2018-04-06 19:04:59 +09:00
|
|
|
NewResponseWithString(reply string, err error) ([]byte, error)
|
2018-04-03 17:58:26 +09:00
|
|
|
}
|