JNIEXPORT jstring JNICALL Java_org_zeromq_zyre_ZyreEvent__1_1address (JNIEnv *env, jclass c, jlong self) { char *address_ = (char *) zyre_event_address ((zyre_event_t *) self); jstring return_string_ = (*env)->NewStringUTF (env, address_); return return_string_; }
void zyre_event_print (zyre_event_t *self) { zsys_info ("zyre_event:"); zsys_info (" - from name=%s uuid=%s", zyre_event_name(self), zyre_event_sender(self)); switch (self->type) { case ZYRE_EVENT_ENTER: zsys_info (" - type=ENTER"); zsys_info (" - headers=%zu:", zhash_size (self->headers)); zhash_foreach (self->headers, (zhash_foreach_fn *) zyre_event_log_pair, self); zsys_info (" - address=%s", zyre_event_address(self)); break; case ZYRE_EVENT_EXIT: zsys_info (" - type=EXIT"); break; case ZYRE_EVENT_STOP: zsys_info (" - type=STOP"); break; case ZYRE_EVENT_JOIN: zsys_info (" - type=JOIN"); zsys_info (" - group=%s", zyre_event_group(self)); break; case ZYRE_EVENT_LEAVE: zsys_info (" - type=LEAVE"); zsys_info (" - group=%s", zyre_event_group(self)); break; case ZYRE_EVENT_SHOUT: zsys_info (" - type=SHOUT"); zsys_info (" - message:"); zmsg_print (self->msg); break; case ZYRE_EVENT_WHISPER: zsys_info (" - type=WHISPER"); zsys_info (" - message:"); zmsg_print (self->msg); break; case ZYRE_EVENT_EVASIVE: zsys_info (" - type=EVASIVE"); break; default: zsys_info (" - type=UNKNOWN"); break; } }
void zyre_event_test (bool verbose) { printf (" * zyre_event: "); // @selftest // Create two nodes zyre_t *node1 = zyre_new ("node1"); assert (node1); zyre_set_header (node1, "X-HELLO", "World"); zyre_set_verbose (node1); if (zyre_start (node1)) { zyre_destroy (&node1); printf ("OK (skipping test, no UDP discovery)\n"); return; } zyre_join (node1, "GLOBAL"); zyre_t *node2 = zyre_new ("node2"); assert (node2); zyre_set_verbose (node2); int rc = zyre_start (node2); assert (rc == 0); zyre_join (node2, "GLOBAL"); // Give time for them to interconnect zclock_sleep (250); // One node shouts to GLOBAL zmsg_t *msg = zmsg_new (); zmsg_addstr (msg, "Hello, World"); zyre_shout (node1, "GLOBAL", &msg); zclock_sleep (100); // Parse ENTER zyre_event_t *event = zyre_event_new (node2); assert (zyre_event_type (event) == ZYRE_EVENT_ENTER); char *sender = zyre_event_sender (event); assert (sender); char *name = zyre_event_name (event); assert (name); assert (streq (name, "node1")); char *address = zyre_event_address (event); assert (address); char *header = zyre_event_header (event, "X-HELLO"); assert (header); zyre_event_destroy (&event); // Parse JOIN event = zyre_event_new (node2); assert (zyre_event_type (event) == ZYRE_EVENT_JOIN); zyre_event_destroy (&event); // Parse SHOUT event = zyre_event_new (node2); assert (zyre_event_type (event) == ZYRE_EVENT_SHOUT); assert (streq (zyre_event_group (event), "GLOBAL")); msg = zyre_event_msg (event); char *string = zmsg_popstr (msg); assert (streq (string, "Hello, World")); free (string); zyre_event_destroy (&event); zyre_destroy (&node1); zyre_destroy (&node2); // @end printf ("OK\n"); }
/// // Return the sending peer's ipaddress as a string const QString QmlZyreEvent::address () { return QString (zyre_event_address (self)); };