1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-18 09:57:04 -04:00
v2fly/transport/internet/headers/wechat/wechat.go

38 lines
740 B
Go
Raw Normal View History

2017-01-03 16:46:22 -05:00
package wechat
import (
2017-01-12 16:47:10 -05:00
"context"
2017-01-03 16:46:22 -05:00
"v2ray.com/core/common"
"v2ray.com/core/common/dice"
"v2ray.com/core/common/serial"
)
type VideoChat struct {
sn int
}
2018-04-02 14:00:50 -04:00
func (vc *VideoChat) Size() int32 {
2017-01-03 16:46:22 -05:00
return 13
}
2017-04-21 09:36:05 -04:00
// Write implements io.Writer.
2017-01-03 16:46:22 -05:00
func (vc *VideoChat) Write(b []byte) (int, error) {
vc.sn++
b = append(b[:0], 0xa1, 0x08)
b = serial.IntToBytes(vc.sn, b)
b = append(b, 0x10, 0x11, 0x18, 0x30, 0x22, 0x30)
return 13, nil
}
2017-12-16 17:31:05 -05:00
// NewVideoChat returns a new VideoChat instance based on given config.
2017-01-12 16:47:10 -05:00
func NewVideoChat(ctx context.Context, config interface{}) (interface{}, error) {
2017-01-03 16:46:22 -05:00
return &VideoChat{
2017-04-27 05:54:15 -04:00
sn: int(dice.RollUint16()),
2017-01-12 16:47:10 -05:00
}, nil
2017-01-03 16:46:22 -05:00
}
func init() {
2017-01-12 16:47:10 -05:00
common.Must(common.RegisterConfig((*VideoConfig)(nil), NewVideoChat))
2017-01-03 16:46:22 -05:00
}