 
 (def sample-node
   {:self {:id "node-id5"
-          :host "127.0.0.1"
-          :port 2005}
-
-   :partial-view :downstream
-   :local-view :downstream
+          ;; :host "127.0.0.1"
+          ;; :port 2005
+          }
+
+   ;; :partial-view :downstream
+   ;; :local-view :downstream
    :downstream #{"node-id1" ; node-contact-address for node-id1
                  "node-id2" ; node-contact-address for node-id2
                  }
 
-   :in-view :upstream
+   ;; :in-view :upstream
    :upstream #{"node-id3" ; node-contact-address for node-id3
                "node-id4" ; node-contact-address for node-id4
-               }})
+               }
+   :messages-seen {}})
 
 (def sample-subscription-request
   {:new-node-contact-address "node-id6"

"
TODO:
  * distinguish better between node contact info (network address, map entry in (:network world)) and node itself
  * add message-envelope UUIDs so nodes can count duplicates of forwarded subscriptions
"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

   :config default-config
   :network {"node-id0" {:self {:id "node-id0"}
                         :downstream #{}
                         :upstream #{}
                         :messages-seen {}}
             "node-id1" sample-node}})

(s/defn node->node-contact-address :- NodeContactAddressSchema
