anchor.diff:      udp
       signal)
     "Enumerates our handle classes.")
  -    
  +
   (defparameter *req-types*
     '(req
       connect
  
positive.code: (defvar *req-sizes* (make-hash-table :test 'eq)
    "Holds calculated size for uv req objects.")
  
  (defvar *handle-name-val* (make-hash-table :test 'eq)
    "Holds handle handle type -> enum mappings.")
  (defvar *handle-val-name* (make-hash-table :test 'eq)
    "Holds handle enum -> handle type mappings.")
  
  (defun alloc-uv-buf (pointer-to-c-buf size &optional uv-buf)
    "Allocate a ub_buf_t object. You'd think this was easy, but the commands that
     take a uv_buf_t expect pointers and the uv_buf_init() function returns a
     stack-allocated value. Don't know WTH is up with that (probably avoiding
     assuming we're using malloc or something).
     
     Anyway, we abstract it here."
    (let* ((type '(:struct uv:uv-buf-t))
           (buf (or uv-buf (cffi:foreign-alloc type))))
  
negative.code: 
  (eval-when (:load-toplevel)
    (populate-sizes))
  