Skip to content

Commit

Permalink
Remove context monitoring
Browse files Browse the repository at this point in the history
  • Loading branch information
Xos committed Dec 18, 2012
1 parent ae96f10 commit 2b53d29
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 65 deletions.
13 changes: 4 additions & 9 deletions src/bindings.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
(defun raise-error (errno)
(declare (inline raise-error)
(type fixnum errno))
(cond
(cond
((eq +eagain+ errno) (error 'eagain :error-number errno))
(t (error 'zmq-error :error-number errno))))

Expand All @@ -58,7 +58,7 @@
(type (function (error) boolean) predicate))
(tagbody retry
(return-from call-with-retry
(handler-bind ((t (lambda (condition)
(handler-bind ((t (lambda (condition)
(when (funcall predicate condition)
(go retry)))))
(funcall thunk)))))
Expand Down Expand Up @@ -135,7 +135,7 @@
(binding-lisp-name (concatenate 'string "%" (symbol-name lisp-name))))
`(progn
(cffi:defcfun (,foreign-name ,(intern binding-lisp-name)) ,return-type
,@args)
,@args)
(defun ,lisp-name ,(append (loop :for arg :in args
:collect (car arg))
'(&optional eintr-retry))
Expand All @@ -145,7 +145,7 @@
retry
(setf ret (,(intern binding-lisp-name)
,@(loop :for arg :in args
:collect (car arg))))
:collect (car arg))))
(when ,(if (eq return-type :pointer)
'(cffi:null-pointer-p ret)
'(< ret 0))
Expand Down Expand Up @@ -234,10 +234,6 @@
(option :int)
(value :int))

(defcfun* ("zmq_ctx_set_monitor" ctx-set-monitor) :int
(context :pointer)
(monitor :pointer))

;;; ZMQ Socket Definition

(defcfun* ("zmq_socket" socket) :pointer
Expand Down Expand Up @@ -317,4 +313,3 @@
(dst :pointer)
(src :pointer)
(len size-t))

58 changes: 2 additions & 56 deletions src/context.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
#:ptr
#:destroy
#:context
#:with-context
#:activate-monitoring))
#:with-context))

(in-package #:context)

Expand All @@ -16,24 +15,6 @@
(defparameter +io-threads-default+ 1)
(defparameter +max-sockets-default+ 1024)

(defmacro define-context-events (events)
(let ((event-id 1))
`(progn ,@(loop :for symbol :in events
:collect (list 'defparameter symbol event-id)
:do (setf event-id (* event-id 2))))))

(define-context-events
(+event-connected+
+event-connect-delayed+
+event-connect-retried+
+event-listening+
+event-bind-failed+
+event-accepted+
+event-accept-failed+
+event-closed+
+event-close-failed+
+event-disconnected+))

(defclass context ()
((io-threads :accessor io-threads)
(max-sockets :accessor max-sockets)
Expand Down Expand Up @@ -75,39 +56,4 @@
(unwind-protect
(progn
,@body)
(%zmq::ctx-set-monitor (ptr ,ctx) (cffi:null-pointer))
(destroy ,ctx))))

(cffi:defcstruct event-data-t
(address :string)
(data :int))

(defun activate-monitoring (context)
(%zmq::ctx-set-monitor (ptr context) (cffi:callback ctx-monitor-callback)))

(cffi:defcallback ctx-monitor-callback :void
((socket :pointer)
(event :int)
(data :pointer event-data-t))
(declare (ignore socket data))
(unless (zerop (boole boole-and event +event-connected+))
(format t "Connected~%"))
(unless (zerop (boole boole-and event +event-connect-delayed+))
(format t "Connect delayed~%"))
(unless (zerop (boole boole-and event +event-connect-retried+))
(format t "Connect retried~%"))
(unless (zerop (boole boole-and event +event-listening+))
(format t "Listening~%"))
(unless (zerop (boole boole-and event +event-bind-failed+))
(format t "Bind failed~%"))
(unless (zerop (boole boole-and event +event-accepted+))
(format t "Accepted~%"))
(unless (zerop (boole boole-and event +event-accept-failed+))
(format t "Accept failed~%"))
(unless (zerop (boole boole-and event +event-closed+))
(format t "Close~%"))
(unless (zerop (boole boole-and event +event-close-failed+))
(format t "Close failed~%"))
(unless (zerop (boole boole-and event +event-disconnected+))
(format t "Disconnected~%")))

(destroy ,ctx))))

0 comments on commit 2b53d29

Please sign in to comment.