summaryrefslogtreecommitdiff
path: root/src/bgpstore.lisp
blob: 16cd696731db2ba4aeee315b9c4ff294e01295b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-

(defparameter *db-spec* '("bgpstore" "bgpstore" "bgpstore" "localhost" ))

(defun marker (mark)
  (format t mark)
  (force-output))

(defun start-bgpstore (host port)
  (with-connection *db-spec* 
    (let ((reader (new-reader host port))
	  (count 0))
      (marker (format nil "~A: bgpstore started "
		      (iso-date (get-universal-time) t)))
      (do ((e (next-xml-blurb reader "BGP_MESSAGE")
	      (next-xml-blurb reader "BGP_MESSAGE")))
	  ((null e))
	(dolist (obj (new-entries (xml-top-elem-from-octets e)))
	  (insert-dao obj)
	  (incf count)
	  (if (= 0 (mod count 10000))
	      (marker (format nil "~%~A: ~A "
			      (iso-date (get-universal-time) t)
			      count))
	      (if (= 0 (mod count 1000))
		  (marker "*")
		  (if (= 0 (mod count 100))
		      (marker "."))))))
      (close-reader))))

(defun stop-bgpstore ())