moar docstrings
[8sync.git] / loopy.scm
index 8c216eeb7d1dd509d50846b76bf6ca510c682c4d..1c26a2f3b211a31d48c4746e70edd6901c31b4de 100644 (file)
--- a/loopy.scm
+++ b/loopy.scm
@@ -87,6 +87,8 @@
                       (except-port-map (make-hash-table))
                       (schedule (make-schedule))
                       (time (gettimeofday)))
+  ;; TODO: document arguments
+  "Make a fresh agenda."
   (make-agenda-intern queue prompt
                       read-port-map write-port-map except-port-map
                       schedule time))
@@ -307,36 +309,6 @@ Will produce (0 . 0) instead of a negative number, if needed."
    segments))
 
 
-\f
-;;; Port handling
-;;; =============
-
-(define (make-port-mapping)
-  (make-hash-table))
-
-(define* (port-mapping-set! port-mapping port #:optional read write except)
-  "Sets port-mapping for reader / writer / exception handlers"
-  (if (not (or read write except))
-      (throw 'no-handlers-given "No handlers given for port" port))
-  (hashq-set! port-mapping port
-              `#(,read ,write ,except)))
-
-(define (port-mapping-remove! port-mapping port)
-  (hashq-remove! port-mapping port))
-
-;; TODO: This is O(n), I'm pretty sure :\
-;; ... it might be worthwhile for us to have a
-;;   port-mapping record that keeps a count of how many
-;;   handlers (maybe via a promise?)
-(define (port-mapping-empty? port-mapping)
-  "Is this port mapping empty?"
-  (eq? (hash-count (const #t) port-mapping) 0))
-
-(define (port-mapping-non-empty? port-mapping)
-  "Whether this port-mapping contains any elements"
-  (not (port-mapping-empty? port-mapping)))
-
-
 \f
 ;;; Request to run stuff
 ;;; ====================
@@ -381,6 +353,7 @@ Will produce (0 . 0) instead of a negative number, if needed."
 (define %current-agenda (make-parameter #f))
 
 (define (update-agenda-from-select! agenda)
+  "Potentially (select) on ports specified in agenda, adding items to queue"
   (define (hash-keys hash)
     (hash-map->list (lambda (k v) k) hash))
   (define (get-wait-time)
@@ -459,6 +432,8 @@ Will produce (0 . 0) instead of a negative number, if needed."
                        #:key stop-condition
                        (get-time gettimeofday)
                        (handle-ports update-agenda-from-select!))
+  ;; TODO: Document fields
+  "Start up the AGENDA"
   (let loop ((agenda agenda))
     (let ((agenda   
            ;; @@: Hm, maybe here would be a great place to handle