mirror of
https://github.com/wavetermdev/backup.git
synced 2026-08-05 13:57:07 -07:00
use RunPacketBuilder in server mode
This commit is contained in:
@@ -477,10 +477,18 @@ type ErrorPacketType struct {
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
func (et *ErrorPacketType) GetType() string {
|
||||
func (*ErrorPacketType) GetType() string {
|
||||
return ErrorPacketStr
|
||||
}
|
||||
|
||||
func (p *ErrorPacketType) String() string {
|
||||
ckStr := ""
|
||||
if p.CK != "" {
|
||||
ckStr = fmt.Sprintf(", ck=%s", p.CK)
|
||||
}
|
||||
return fmt.Sprintf("error[%s%s]", p.Error, ckStr)
|
||||
}
|
||||
|
||||
func MakeErrorPacket(errorStr string) *ErrorPacketType {
|
||||
return &ErrorPacketType{Type: ErrorPacketStr, Error: errorStr}
|
||||
}
|
||||
|
||||
@@ -147,20 +147,24 @@ func RunServer() (int, error) {
|
||||
initPacket := packet.MakeInitPacket()
|
||||
initPacket.Version = base.MShellVersion
|
||||
server.Sender.SendPacket(initPacket)
|
||||
builder := packet.MakeRunPacketBuilder()
|
||||
for pk := range server.MainInput.MainCh {
|
||||
if server.Debug {
|
||||
fmt.Printf("PK> %s\n", packet.AsString(pk))
|
||||
}
|
||||
if pk.GetType() == packet.RunPacketStr {
|
||||
runPacket := pk.(*packet.RunPacketType)
|
||||
server.runCommand(runPacket)
|
||||
ok, runPacket := builder.ProcessPacket(pk)
|
||||
if ok {
|
||||
if runPacket != nil {
|
||||
server.runCommand(runPacket)
|
||||
continue
|
||||
}
|
||||
continue
|
||||
}
|
||||
if cmdPk, ok := pk.(packet.CommandPacketType); ok {
|
||||
server.ProcessCommandPacket(cmdPk)
|
||||
continue
|
||||
}
|
||||
server.Sender.SendErrorPacket(fmt.Sprintf("invalid packet '%s' sent to mshell", packet.AsExtType(pk)))
|
||||
server.Sender.SendErrorPacket(fmt.Sprintf("invalid packet '%s' sent to mshell", packet.AsString(pk)))
|
||||
continue
|
||||
}
|
||||
return 0, nil
|
||||
|
||||
Reference in New Issue
Block a user