Exemple #1
0
import sys
import threading

from messagepasser import MessagePasser
from message import TimeStampedMessage
import ClockServiceFactory

logger_messages = []

if __name__ == '__main__':
  if len(sys.argv) == 3:
    config_filename = sys.argv[1]
    local_name = sys.argv[2]
    mp = MessagePasser(config_filename, local_name)
    mp.update_config()

    # Initialize the clock service here
    # Should be done AFTER update_config() on MessagePasser
    cs_factory = ClockServiceFactory()
    cs_factory.set_nodes(len(mp.nodes)) # No. of nodes in the system
    cs_factory.set_host_node_id(mp.nid) # ID for *this* process
    # Logical Clock
    # cs = cs_factory.get_clock("LOGICAL")
    # Uncomment for Vector Clock
    cs = cs_factory.get_clock("VECTOR")
    
    # Inject Clock Service into MessagePasser
    mp.set_clockservice(cs)

    # Start server thread listening to messages
    listen_thread = threading.Thread(name="listen_thread", target=mp.receive_message)