diff options
author | Linus Nordberg <linus@nordberg.se> | 2009-06-25 17:49:32 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2009-06-25 17:49:32 +0200 |
commit | 6d3b3259a7c7e8d26faaf606ab6715b22942a1d5 (patch) | |
tree | d098602c768955147384786d42d42e9842d8076c | |
parent | 55edcd04e99000409cd7860b6ae14956ad7ec43c (diff) |
PM.
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | src/playground.lisp | 98 |
2 files changed, 101 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab3987c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.~ +doc +*.fasl diff --git a/src/playground.lisp b/src/playground.lisp new file mode 100644 index 0000000..5cc1336 --- /dev/null +++ b/src/playground.lisp @@ -0,0 +1,98 @@ +(require 'cxml) +(require 'usocket) +(require 'cl-xmlspam) +;; +(klacks:with-open-source (s (cxml:make-source #p"s2.xml")) + (loop + for key = (klacks:peek s) + while key + do + (case key + (:start-element + (format t "~A {" (klacks:current-qname s))) + (:end-element + (format t "}"))) + (klacks:consume s))) +;; +(klacks:with-open-source (s (cxml:make-source + (usocket:socket-stream (usocket:socket-connect + "victoria.tug.nordu.net" + 50001 + :element-type '(unsigned-byte 8))) + :buffering nil)) + (loop + for key = (klacks:peek-next s) + while key + do + (case key + (:start-document (format t " ")) + (:start-element (format t "~A {" (klacks:current-qname s))) + (:end-element (format t "}")) + (:end-document (format t "~%"))) + (klacks:consume s))) +;; +(use-package 'xspam) +(defparameter *ns* '((urn . "urn:ietf:params:xml:ns:xfb-0.1"))) +(defun get-entry-xspam (sock) + (with-xspam-source (make-xspam-source sock :buffering nil) + (optional + (element :bgp_message ;;|bgp_message| + (text (format t "~A~%" _)))))) +;; +(defun klacks-it (arr) + (let ((s (cxml:make-source arr))) + (loop + for key = (klacks:peek s) + while key + do + (case key + ;(:start-document (format t "*** start *** ")) + ;(:end-document (format t "*** end ***~%")) + (:start-element (format t "~A {" (klacks:current-qname s))) + (:end-element (format t "}~%")) + (:characters (format t (klacks:current-characters s)))) + (klacks:consume s)))) + +(defun klacks-it2 (arr) + (let ((s (cxml:make-source arr))) + (do ((key (klacks:peek s) (klacks:peek s))) + ((null key)) + (case key + ;(:start-document (format t "*** start *** ")) + ;(:end-document (format t "*** end ***~%")) + (:start-element (format t "~A {" (klacks:current-qname s))) + (:end-element (format t "}~%")) + (:characters (format t (klacks:current-characters s)))) + (klacks:consume s)))) +;; +(let ((sock (usocket:socket-connect + "victoria.tug.nordu.net" + 50001 + :element-type '(unsigned-byte 8)))) + (loop for i from 1 to 5 + do + (format t "~A: " i) + (f (usocket:socket-stream sock)) + (format t "~%")) + (format t "Closing socket.~%") + (usocket:socket-close sock)) + +;;;; +(defun play () + (let ((reader (new-reader "victoria.tug" 50001)) + (xmls-builder (cxml-xmls:make-xmls-builder))) + (do ((e (next-xml-blurb reader "BGP_MESSAGE") + (next-xml-blurb reader "BGP_MESSAGE"))) + ((null e)) + (print (cxml:parse e xmls-builder))) + (close-reader))) +;; +(next-xml-blurb (new-reader "victoria.tug.nordu.net" 50001) "BGP_MESSAGE") + +;; +(doquery (:select 'timestamp 'prefix 'label :from 'bgp-message) + (ts pref lbl) + (format t "~A ~A ~A~%" ts pref lbl)) + +(select-dao 'bgp-message) + |