Megatest

Diff
Login

Differences From Artifact [3d460d177a]:

To Artifact [06a2b815e2]:


43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
58
59





60
61
62
63
64
65
66
43
44
45
46
47
48
49

50



51
52
53
54
55

56
57
58
59
60
61
62
63
64
65
66
67







-
+
-
-
-





-
+
+
+
+
+







;;  N A N O M S G   S E R V E R
;;======================================================================

(defstruct nmsg
  (conn  #f)
  (hosts (make-hash-table))
  pkt
  (pktspec '((server (hostname . h)
  pktspec
		     (port     . p)
		     (pid      . i)
		     )))
  (mutex    (make-mutex))
  )

;; make it a global
(define *nmsg-conndat* (make-nmsg))

(nmsg-pktspec-set! *nmsg-conndat*
		   `((server (hostname . h)
			     (port     . p)
			     (pid      . i)
			     )))
;; get a port
;; start the nmsg server
;; look for other servers
;; contact other servers and compile list of servers
;; there are two types of server
;;     main servers - dashboards, runners and dedicated servers - need pkt
;;     passive servers - test executers, step calls, list-runs - no pkt
81
82
83
84
85
86
87
88


89
90
91

92
93
94
95
96
97
98
82
83
84
85
86
87
88

89
90
91
92
93
94
95
96
97
98
99
100
101







-
+
+



+







    (if (eq? server-type 'main)
	(nmsg-pkt-set! *nmsg-conndat* 
		       (pkts:write-alist->pkt
			pktdir 
			`((hostname . ,(get-host-name))
			  (port     . ,port-num)
			  (pid      . ,(current-process-id)))
			pktspec)))
			pktspec: pktspec
			ptype:   'server)))
    (nmsg-conn-set! *nmsg-conndat* nmsg-conn)
    (mutex-unlock! (nmsg-mutex *nmsg-conndat*))
    ))

;;======================================================================
;;  S U P P O R T   F U N C T I O N S
;;======================================================================

;; if a server is either running or in the process of starting call client:setup
;; else return #f to let the calling proc know that there is no server available
;;