diff options
Diffstat (limited to 'src/rooms.clj')
| -rw-r--r-- | src/rooms.clj | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rooms.clj b/src/rooms.clj index e18a434..09b81ba 100644 --- a/src/rooms.clj +++ b/src/rooms.clj @@ -1,7 +1,10 @@ (ns rooms + (:import java.util.Date) (:use clojure.contrib.str-utils utils)) +(defstruct message-struct :nick :content :created_on :msg_id) + (def *run-flusher* true) (def *flusher-sleep* (seconds 4)) (def *user-timeout* (seconds 15)) @@ -81,6 +84,12 @@ (defn login-user [user room] (alter (room :users) assoc (user :nick) user)) +; Note: To ensure that the msg's timestamp is consistent +; with other msg creations, build-msg should be called +; from within a dosync. +(defn build-msg [nick content msg-id] + (struct message-struct nick content (new Date) msg-id)) + (defn add-message [msg room] (alter (room :messages) (swap cons) msg)) |
