Пример #1
0
void slices(char *prefix, char *zone, struct tm *initt, struct tm *tm, time_t tics)
{
#if 0
	if (initt->tm_year != tm->tm_year) {
		initt->tm_year = tm->tm_year;
		pub_i(prefix, zone, "year", tm->tm_year + 1900, TRUE);
	}
	if (initt->tm_mon != tm->tm_mon) {
		initt->tm_mon = tm->tm_mon;
		pub_i(prefix, zone, "month", tm->tm_mon + 1, TRUE);
	}
	if (initt->tm_mday != tm->tm_mday) {
		pub_i(prefix, zone, "day", initt->tm_mday = tm->tm_mday, TRUE);
		pub_ftime(prefix, zone, "weekday", "%A", tm, TRUE);
		pub_ftime(prefix, zone, "dow", "%u", tm, TRUE);
		pub_ftime(prefix, zone, "week", "%V", tm, TRUE);
		pub_ftime(prefix, zone, "isodate", "%F", tm, TRUE);
	}
	if (initt->tm_hour != tm->tm_hour) {
		pub_i(prefix, zone, "hour", initt->tm_hour = tm->tm_hour, TRUE);
		pub_ftime(prefix, zone, "ampm", "%p", tm, TRUE);
	}
	if (initt->tm_min != tm->tm_min) {
		pub_i(prefix, zone, "minute", initt->tm_min = tm->tm_min, FALSE);
	}
	if (initt->tm_sec != tm->tm_sec) {
		pub_i(prefix, zone, "second", initt->tm_sec = tm->tm_sec, FALSE);
	}
	pub_i(prefix, zone, "epoch", tics, FALSE);
#endif
	pub_ftime(prefix, zone, "time", "%H:%M:%S", tm, FALSE);
}
Пример #2
0
void pubtime(char *prefix, struct tm *gmt_init, struct tm *local_init)
{
	time_t tics;
	struct tm gtm, ltm;

	time(&tics);

	if (gmtime_r(&tics, &gtm) == NULL)
		return;
	if (localtime_r(&tics, &ltm) == NULL)
		return;

	pub_i(prefix, NULL, "uptime", tics - start_tics, FALSE);

	if (do_utc)
		slices(prefix, "utc", gmt_init, &gtm, tics);
	if (do_local)
		slices(prefix, "local", local_init, &ltm, tics);
}
Пример #3
0
void message_service::handle_publish_packet(const ID& remote_peer_id,
                                            darc::buffer::shared_buffer data)
{
  inbound_data<serializer::boost_serializer, publish_packet> pub_i(data);
  topic_change_signal_(true, pub_i.get().topic_id, pub_i.get().topic_name, pub_i.get().type_name);
}