diff options
| -rw-r--r-- | chat/buddy.go (renamed from buddy.go) | 2 | ||||
| -rw-r--r-- | chat/messages.go (renamed from messages.go) | 2 | ||||
| -rw-r--r-- | chat/rooms.go (renamed from rooms.go) | 14 | ||||
| -rw-r--r-- | main.go | 2 | ||||
| -rw-r--r-- | websock.go | 3 | 
5 files changed, 17 insertions, 6 deletions
| @@ -1,4 +1,4 @@ -package main +package chat  import (  	"time" diff --git a/messages.go b/chat/messages.go index 44e5662..793fc6c 100644 --- a/messages.go +++ b/chat/messages.go @@ -1,4 +1,4 @@ -package main +package chat  import (  	"encoding/json" @@ -1,4 +1,4 @@ -package main +package chat  import (  	"errors" @@ -48,7 +48,15 @@ func (r *Room) ListBuddies() (buddies []string) {  	return  } -var rooms = make(map[string]*Room) +var ( +	rooms   map[string]*Room +	perroom int +) + +func InitRooms(room_limit int) { +	rooms = make(map[string]*Room) +	perroom = room_limit +}  func Join(room, nick string) (*Buddy, *Room, error) {  	r, ok := rooms[room] @@ -61,7 +69,7 @@ func Join(room, nick string) (*Buddy, *Room, error) {  		return nil, nil, errors.New("Nickname is already in use")  	} -	if len(r.Buddies) >= *perroom { +	if len(r.Buddies) >= perroom {  		return nil, nil, errors.New("Room is full")  	} @@ -3,6 +3,7 @@ package main  import (  	"flag"  	"github.com/gorilla/mux" +	"github.com/kch42/simplechat/chat"  	"log"  	"math"  	"net/http" @@ -25,6 +26,7 @@ func main() {  	}  	PrepTemplates() +	chat.InitRooms(*perroom)  	r := mux.NewRouter()  	r.HandleFunc("/", Home) @@ -3,6 +3,7 @@ package main  import (  	"code.google.com/p/go.net/websocket"  	"github.com/gorilla/mux" +	"github.com/kch42/simplechat/chat"  	"net/http"  ) @@ -25,7 +26,7 @@ func AcceptWebSock(rw http.ResponseWriter, req *http.Request) {  			return  		} -		buddy, room, err := Join(roomname, nick) +		buddy, room, err := chat.Join(roomname, nick)  		if err != nil {  			send(JoinResponse{  				OK:    false, | 
