Esempio n. 1
0
def send_smg(nid1, nid2, msg):
    node1=SendMessage.get_node_byID(nid1)
    node2=SendMessage.get_node_byID(nid2)
    path=find_message_path(node1,node2)
    msg=message(node1.nid,node2.nid,msg,path)
    global_v.msg_buffer.append(msg)
    return path
def refind_path(nid1,nid2):
    node1=SendMessage.get_node_byID(nid1)
    if node1==None: return None
    node2=SendMessage.get_node_byID(nid2)
    if node2==None: return None
    path=find_message_path(node1,node2)
    return path
def send_msg(nid1, nid2, msg, msgId):
    node1=SendMessage.get_node_byID(nid1)
    if node1==None: return 'from node does not exist'
    node2=SendMessage.get_node_byID(nid2)
    if node2==None: return 'destination node does not exist'

    #  If it is failed msg to be resend , delete it from failed msg list first
    senderId=node1.nid
    path=find_message_path(node1,node2)
    for msg_obj in global_v.failed_msg:
        if msgId==msg_obj.msgId:
            senderId=msg_obj.sender
            global_v.failed_msg.remove(msg_obj)
            break
    msg_pending=message(node1.nid,node2.nid, msg, path,None,senderId, int(msgId))
    global_v.msg_buffer.append(msg_pending)
    return path