diff options
-rw-r--r-- | messages.go | 33 | ||||
-rw-r--r-- | rooms.go | 28 |
2 files changed, 33 insertions, 28 deletions
diff --git a/messages.go b/messages.go new file mode 100644 index 0000000..44e5662 --- /dev/null +++ b/messages.go @@ -0,0 +1,33 @@ +package main + +import ( + "encoding/json" + "errors" +) + +type MsgType int + +const ( + MsgChat MsgType = iota // Default + MsgJoin + MsgLeave +) + +func (mt *MsgType) MarshalJSON() ([]byte, error) { + switch *mt { + case MsgChat: + return json.Marshal("chat") + case MsgJoin: + return json.Marshal("join") + case MsgLeave: + return json.Marshal("leave") + } + + return nil, errors.New("Unknown message type") +} + +type Message struct { + Type MsgType `json:"type"` + User string `json:"user"` + Text string `json:"text,omitempty"` +} @@ -1,37 +1,9 @@ package main import ( - "encoding/json" "errors" ) -type MsgType int - -const ( - MsgChat MsgType = iota // Default - MsgJoin - MsgLeave -) - -func (mt *MsgType) MarshalJSON() ([]byte, error) { - switch *mt { - case MsgChat: - return json.Marshal("chat") - case MsgJoin: - return json.Marshal("join") - case MsgLeave: - return json.Marshal("leave") - } - - return nil, errors.New("Unknown message type") -} - -type Message struct { - Type MsgType `json:"type"` - User string `json:"user"` - Text string `json:"text,omitempty"` -} - type Room struct { Messages chan Message Buddies map[string]Buddy |