encoders/encoder.go
Rama main · réplica de lectura del repositorio original.
package encoders
import (
"github.com/anycable/anycable-go/common"
"github.com/anycable/anycable-go/ws"
)
type EncodedMessage interface {
GetType() string
}
var _ EncodedMessage = (*common.Reply)(nil)
var _ EncodedMessage = (*common.PingMessage)(nil)
var _ EncodedMessage = (*common.DisconnectMessage)(nil)
type Encoder interface {
ID() string
Encode(msg EncodedMessage) (*ws.SentFrame, error)
EncodeTransmission(msg string) (*ws.SentFrame, error)
Decode(payload []byte) (*common.Message, error)
}
var _ Encoder = (*JSON)(nil)