代码拉取完成,页面将自动刷新
/*
* go-mysqlstack
* xelabs.org
*
* Copyright (c) XeLabs
* GPL License
*
*/
package proto
import (
"gitee.com/tym_hmm/mysql-mydumper/extend/mysql/sqldb"
"gitee.com/tym_hmm/mysql-mydumper/extend/mysql/sqlparser/depends/common"
)
const (
// EOF_PACKET is the EOF packet.
EOF_PACKET byte = 0xfe
)
// EOF used for EOF packet.
type EOF struct {
Header byte // 0x00
Warnings uint16
StatusFlags uint16
}
// UnPackEOF used to unpack the EOF packet.
// https://dev.mysql.com/doc/internals/en/packet-EOF_Packet.html
// This method unsed.
func UnPackEOF(data []byte) (*EOF, error) {
var err error
e := &EOF{}
buf := common.ReadBuffer(data)
// header
if e.Header, err = buf.ReadU8(); err != nil {
return nil, sqldb.NewSQLErrorf(sqldb.ER_MALFORMED_PACKET, "invalid eof packet header: %v", data)
}
if e.Header != EOF_PACKET {
return nil, sqldb.NewSQLErrorf(sqldb.ER_MALFORMED_PACKET, "invalid oeof packet header: %v", e.Header)
}
// Warnings
if e.Warnings, err = buf.ReadU16(); err != nil {
return nil, sqldb.NewSQLErrorf(sqldb.ER_MALFORMED_PACKET, "invalid eof packet warnings: %v", data)
}
// Status
if e.StatusFlags, err = buf.ReadU16(); err != nil {
return nil, sqldb.NewSQLErrorf(sqldb.ER_MALFORMED_PACKET, "invalid eof packet statusflags: %v", data)
}
return e, nil
}
// PackEOF used to pack the EOF packet.
func PackEOF(e *EOF) []byte {
buf := common.NewBuffer(64)
// EOF
buf.WriteU8(EOF_PACKET)
// warnings
buf.WriteU16(e.Warnings)
// status
buf.WriteU16(e.StatusFlags)
return buf.Datas()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。