a bit more documentation

master
Avril 5 years ago
parent 5b19aec8d2
commit 6154485883
Signed by: flanchan
GPG Key ID: 284488987C31F630

@ -34,7 +34,8 @@ See `cl-sipc.lisp' for more documentation.
---
Example using sipcli (run `make' in libsipc/ directory)
Example using sipcli (run `make all-ffi' in libsipc/ directory)
(see `test-server.lisp' for example server)
Terminal 1:
[user@host cl-sipc]$ ./test-server
@ -57,6 +58,7 @@ Terminal 1:
---
TODO: Implement message sending wrapper.
TODO: Internal error handling.
TODO: Have libsipc built on system load
TODO: Change :binary message from pointer to vector (or at least pass size to handler so it's usable).
TODO: better .so loading

@ -4,20 +4,22 @@
(ql:quickload :cl-sipc))
(defparameter *socket-file* "sipc.socket")
(defparameter *socket* (cl-sipc:bind *socket-file*))
(defparameter *socket* (cl-sipc:bind *socket-file*)) ;;attempt to bind to this file
(when (not *socket*)
(when (not *socket*)
(format t "[e] binding failed ~a~%" *socket-file*) (quit))
(format t "[+] listening on ~a...~%" *socket-file*)
;;block until the listener is done
(let ((rc (cl-sipc:hook *socket*
#'(lambda (err)
#'(lambda (err) ;; Callback ran if there is an error
(format t "Error: ~a~%" err)
nil)
#'(lambda (type message)
(format t " <- (~a) ~a~%" type message)
(not (eql :close type))))))
nil) ;;returning NIL to the listener stops
#'(lambda (type message) ;; Callback ran when a message is received
(format t " <- (~a) ~a~%" type message) ;;print the message & type
(not (eql :close type)))))) ;;returning NIL if the type is :CLOSE to stop the listener
(format t "[-] listen rc ~a~%" rc)
(cl-sipc:release *socket*))
(cl-sipc:release *socket*)) ;;finally, release the socket
(quit)

Loading…
Cancel
Save