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 | 
