Add close message type

This commit is contained in:
Zoltan Papp
2024-06-05 19:49:30 +02:00
parent a40d4d2f32
commit fed9e587af
14 changed files with 371 additions and 170 deletions

View File

@ -10,6 +10,7 @@ const (
MsgTypeHello MsgType = 0
MsgTypeHelloResponse MsgType = 1
MsgTypeTransport MsgType = 2
MsgClose MsgType = 3
)
var (
@ -26,6 +27,8 @@ func (m MsgType) String() string {
return "hello response"
case MsgTypeTransport:
return "transport"
case MsgClose:
return "close"
default:
return "unknown"
}
@ -39,6 +42,8 @@ func DetermineClientMsgType(msg []byte) (MsgType, error) {
return msgType, nil
case MsgTypeTransport:
return msgType, nil
case MsgClose:
return msgType, nil
default:
return 0, fmt.Errorf("invalid msg type, len: %d", len(msg))
}
@ -52,6 +57,8 @@ func DetermineServerMsgType(msg []byte) (MsgType, error) {
return msgType, nil
case MsgTypeTransport:
return msgType, nil
case MsgClose:
return msgType, nil
default:
return 0, fmt.Errorf("invalid msg type (len: %d)", len(msg))
}
@ -81,6 +88,14 @@ func MarshalHelloResponse() []byte {
return msg
}
// Close message
func MarshalCloseMsg() []byte {
msg := make([]byte, 1)
msg[0] = byte(MsgClose)
return msg
}
// Transport message
func MarshalTransportMsg(peerID []byte, payload []byte) []byte {