+static void
+slave_state_get_prefix ()
+{
+ test = TEST_SLAVE_STATE_GET_PREFIX;
+ GNUNET_PSYC_channel_state_get_prefix (slv_chn, "_foo", state_get_var,
+ slave_state_get_prefix_result, NULL);
+}
+
+
+/*** Master state_get_prefix() ***/
+
+
+static void
+master_state_get_prefix_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: master_state_get_prefix:\t%" PRId64 " (%s)\n",
+ test, result, (char *) err_msg);
+ // FIXME: GNUNET_assert (2 == result);
+ slave_state_get_prefix ();
+}
+
+
+static void
+master_state_get_prefix ()
+{
+ test = TEST_MASTER_STATE_GET_PREFIX;
+ GNUNET_PSYC_channel_state_get_prefix (mst_chn, "_foo", state_get_var,
+ master_state_get_prefix_result, NULL);
+}
+
+
+/*** Slave state_get() ***/
+
+
+static void
+slave_state_get_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: slave_state_get:\t%" PRId64 " (%.*s)\n",
+ test, result, err_msg_size, (char *) err_msg);
+ // FIXME: GNUNET_assert (2 == result);
+ master_state_get_prefix ();
+}
+
+
+static void
+slave_state_get ()
+{
+ test = TEST_SLAVE_STATE_GET;
+ GNUNET_PSYC_channel_state_get (slv_chn, "_foo_bar_baz", state_get_var,
+ slave_state_get_result, NULL);
+}
+
+
+/*** Master state_get() ***/
+
+
+static void
+master_state_get_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: master_state_get:\t%" PRId64 " (%.*s)\n",
+ test, result, err_msg_size, (char *) err_msg);
+ // FIXME: GNUNET_assert (1 == result);
+ slave_state_get ();
+}
+
+
+static void
+master_state_get ()
+{
+ test = TEST_MASTER_STATE_GET;
+ GNUNET_PSYC_channel_state_get (mst_chn, "_foo_bar_baz", state_get_var,
+ master_state_get_result, NULL);
+}
+
+
+/*** Slave history_replay() ***/
+
+static void
+slave_history_replay_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: slave_history_replay:\t%" PRId64 " (%.*s)\n",
+ test, result,
+ (int) err_msg_size,
+ (const char *) err_msg);
+ GNUNET_assert (9 == result);
+
+ master_state_get ();
+}
+
+
+static void
+slave_history_replay ()
+{
+ test = TEST_SLAVE_HISTORY_REPLAY;
+ GNUNET_PSYC_channel_history_replay (slv_chn, 1, 1, "",
+ GNUNET_PSYC_HISTORY_REPLAY_LOCAL,
+ slave_message_cb,
+ slave_message_part_cb,
+ slave_history_replay_result, NULL);
+}
+
+
+/*** Master history_replay() ***/
+
+
+static void
+master_history_replay_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: master_history_replay:\t%" PRId64 " (%.*s)\n",
+ test, result,
+ (int) err_msg_size,
+ (const char *) err_msg);
+ GNUNET_assert (9 == result);
+
+ slave_history_replay ();
+}
+
+
+static void
+master_history_replay ()
+{
+ test = TEST_MASTER_HISTORY_REPLAY;
+ GNUNET_PSYC_channel_history_replay (mst_chn, 1, 1, "",
+ GNUNET_PSYC_HISTORY_REPLAY_LOCAL,
+ master_message_cb,
+ master_message_part_cb,
+ master_history_replay_result, NULL);
+}
+
+
+/*** Slave history_replay_latest() ***/
+
+
+static void
+slave_history_replay_latest_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: slave_history_replay_latest:\t%" PRId64 " (%.*s)\n",
+ test, result,
+ (int) err_msg_size,
+ (const char *) err_msg);
+ GNUNET_assert (9 == result);
+
+ master_history_replay ();
+}
+
+
+static void
+slave_history_replay_latest ()
+{
+ test = TEST_SLAVE_HISTORY_REPLAY_LATEST;
+ GNUNET_PSYC_channel_history_replay_latest (slv_chn, 1, "",
+ GNUNET_PSYC_HISTORY_REPLAY_LOCAL,
+ &slave_message_cb,
+ &slave_message_part_cb,
+ &slave_history_replay_latest_result,
+ NULL);
+}
+
+
+/*** Master history_replay_latest() ***/
+
+
+static void
+master_history_replay_latest_result (void *cls, int64_t result,
+ const void *err_msg, uint16_t err_msg_size)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Test #%d: master_history_replay_latest:\t%" PRId64 " (%.*s)\n",
+ test, result, err_msg_size, (char *) err_msg);
+ GNUNET_assert (9 == result);
+
+ slave_history_replay_latest ();
+}
+
+
+static void
+master_history_replay_latest ()
+{
+ test = TEST_MASTER_HISTORY_REPLAY_LATEST;
+ GNUNET_PSYC_channel_history_replay_latest (mst_chn, 1, "",
+ GNUNET_PSYC_HISTORY_REPLAY_LOCAL,
+ &master_message_cb,
+ &master_message_part_cb,
+ &master_history_replay_latest_result,
+ NULL);
+}
+
+
+static void
+transmit_resume (void *cls)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Test #%d: Transmission resumed.\n", test);
+ struct TransmitClosure *tmit = cls;
+ if (NULL != tmit->mst_tmit)
+ GNUNET_PSYC_master_transmit_resume (tmit->mst_tmit);