youyesyet.outqueue

Queue of messages waiting to be sent to the server.

add!

(add! q item)

Add this item to the queue.

count

(count q)

Return the count of items currently in the queue.

lock!

(lock! q)

TODO: write docs

locked?

(locked? q)

TODO: write docs

maybe-process-next

(maybe-process-next q process)

Apply this process, assumed to be a function of one argument, to the next item in the queue, if the queue is not currently locked; return the value returned by process.

new-queue

(new-queue)(new-queue items)

Create a new queue

peek

(peek q)

Look at the next item which could be removed from the queue.

queue?

(queue? x)

True if x is a queue, else false.

take!

(take! q)

Return the first item from the queue, rebind the queue to the remaining items. If the queue is empty return nil.

unlock!

(unlock! q)(unlock! q value)

TODO: write docs