Пример #1
0
def on_pub(sub, new_sub_pub, payload):
    print("Pub %s(%d) matches:" % (dps.publication_get_uuid(new_sub_pub), dps.publication_get_sequence_num(new_sub_pub)))
    print("  pub " + " | ".join(dps.publication_get_topics(new_sub_pub)))
    print("  sub " + " | ".join(dps.subscription_get_topics(sub)))
    print(payload.tobytes())
    if dps.publication_is_ack_requested(new_sub_pub):
        ack_msg = "This is an ACK from %s" % (dps.get_listen_address(dps.publication_get_node(new_sub_pub)))
        print("Sending ack for pub UUID %s(%d)" % (dps.publication_get_uuid(new_sub_pub), dps.publication_get_sequence_num(new_sub_pub)))
        print("    %s" % (ack_msg))
        dps.ack_publication(new_sub_pub, ack_msg);
    dps.publish(pub, "hello")
Пример #2
0
def on_pub(sub, new_sub_pub, payload):
    print "Pub %s(%d) matches:" % (dps.publication_get_uuid(new_sub_pub), dps.publication_get_sequence_num(new_sub_pub))
    print "  pub " + " | ".join(dps.publication_get_topics(new_sub_pub))
    print "  sub " + " | ".join(dps.subscription_get_topics(sub))
    print payload
    if dps.publication_is_ack_requested(new_sub_pub):
        ack_msg = "This is an ACK from %d" % (dps.get_port_number(dps.publication_get_node(new_sub_pub)))
        print "Sending ack for pub UUID %s(%d)" % (dps.publication_get_uuid(new_sub_pub), dps.publication_get_sequence_num(new_sub_pub))
        print "    %s" % (ack_msg)
        dps.ack_publication(new_sub_pub, ack_msg);
    dps.publish(pub, "hello")
Пример #3
0

def on_ack(pub, payload):
    print "Ack for pub UUID %s(%d)" % (dps.publication_get_uuid(pub),
                                       dps.publication_get_sequence_num(pub))
    print "    %s" % (payload)


def on_destroy(node):
    print "Destroyed"
    dps.destroy_key_store(key_store)


node = dps.create_node("/", key_store, node_id)
dps.start_node(node, dps.MCAST_PUB_ENABLE_SEND, 0)
pub = dps.create_publication(node)

dps.init_publication(pub, ['a/b/c'], False, None, on_ack)
dps.publication_add_sub_id(pub, pub_key_id)
dps.publish(pub, "hello")
print "Pub UUID %s(%d)" % (dps.publication_get_uuid(pub),
                           dps.publication_get_sequence_num(pub))
time.sleep(0.2)
dps.publish(pub, "world")
print "Pub UUID %s(%d)" % (dps.publication_get_uuid(pub),
                           dps.publication_get_sequence_num(pub))
time.sleep(0.2)

dps.destroy_publication(pub)
dps.destroy_node(node, on_destroy)
Пример #4
0
    print(payload.tobytes())
    if dps.publication_is_ack_requested(pub):
        ack_msg = "This is an ACK from %s" % (dps.get_listen_address(dps.publication_get_node(pub)))
        print("Sending ack for pub UUID %s(%d)" % (dps.publication_get_uuid(pub), dps.publication_get_sequence_num(pub)))
        print("    %s" % (ack_msg))
        dps.ack_publication(pub, ack_msg);

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--debug", action='store_true',
                    help="Enable debug ouput if built for debug.")
args = parser.parse_args()
dps.cvar.debug = args.debug

node = dps.create_node("/")
dps.start_node(node, dps.MCAST_PUB_ENABLE_RECV + dps.MCAST_PUB_ENABLE_SEND, None)
print("Subscriber is listening on %s" % (dps.get_listen_address(node)))
sub = dps.create_subscription(node, ['a/b/c']);
dps.subscribe(sub, on_pub)

time.sleep(1)

# Let publishers know we are here
pub = dps.create_publication(node)
dps.init_publication(pub, ['new_subscriber'], False)
dps.publish(pub, "Hi")

if not sys.flags.interactive:
    while True:
        time.sleep(1)
Пример #5
0
def on_destroy(node):
    print "Destroyed"


import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-d",
                    "--debug",
                    action='store_true',
                    help="Enable debug ouput if built for debug.")
args = parser.parse_args()
dps.cvar.debug = args.debug

node = dps.create_node("/")
dps.start_node(node, dps.MCAST_PUB_ENABLE_SEND + dps.MCAST_PUB_ENABLE_RECV, 0)
print "Publisher is listening on port %d" % (dps.get_port_number(node))

pub = dps.create_publication(node)
dps.init_publication(pub, ['a/b/c'], False, None)
dps.publish(pub, "hello", 200)

# Subscription for responding to alerts from new subscribers
sub = dps.create_subscription(node, ['new_subscriber'])
dps.subscribe(sub, on_pub)

time.sleep(60)

dps.destroy_publication(pub)
dps.destroy_node(node, on_destroy)