MSG_FROM_NODES = "msg_from_nodes"
## if this file is directly ran by python
if __name__ == "__main__":

    connect('chatchat')

    private_key = api.generate_private_key()
    m_AppModel = AppModel(
        public_key=api.generate_public_key(private_key).exportKey().decode('utf-8'), 
        nid=str(api.__uuid_generator_1()), 
        private_key=private_key.exportKey().decode('utf-8'))

    ## this will execute document.insert()
    m_AppModel.save()

    # node instance
    mNode = Node(pickle.dumps(m_AppModel))
    mNode.start()

    # listener for receiving broadcasted msg from the master server
    mBroadcastListener = BroadcastListener(m_AppModel.nid)
    mBroadcastListener.start()

    mMessageListener = MessageListener(m_AppModel.nid)
    mMessageListener.start()

    """timer = ConnTimeout(api._TIMEOUT,
            app_api._send_handshake_msg,
            servers=3,