10 Star 38 Fork 19

Gitee 极速下载 / Pion-WebRTC

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/pion/webrtc
克隆/下载
message.go 921 Bytes
一键复制 编辑 原始数据 按行查看 历史
package datachannel
import (
"github.com/pkg/errors"
)
// Message is a parsed DataChannel message
type Message interface {
Marshal() ([]byte, error)
Unmarshal([]byte) error
}
// MessageType is the first byte in a DataChannel message that specifies type
type MessageType byte
// DataChannel Message Types
const (
DataChannelAck MessageType = 0x02
DataChannelOpen MessageType = 0x03
)
// Parse accepts raw input and returns a DataChannel message
func Parse(raw []byte) (Message, error) {
if len(raw) == 0 {
return nil, errors.Errorf("DataChannel message is not long enough to determine type ")
}
var msg Message
switch MessageType(raw[0]) {
case DataChannelOpen:
msg = &ChannelOpen{}
case DataChannelAck:
msg = &ChannelAck{}
default:
return nil, errors.Errorf("Unknown MessageType %v", MessageType(raw[0]))
}
if err := msg.Unmarshal(raw); err != nil {
return nil, err
}
return msg, nil
}
1
https://gitee.com/mirrors/Pion-WebRTC.git
git@gitee.com:mirrors/Pion-WebRTC.git
mirrors
Pion-WebRTC
Pion-WebRTC
v1.1.1

搜索帮助