#define DEFAULT_SERVER_HOST "localhost"
#define DATA_SIZE 120
-#define PACKET_INDEX_SIZE 8
+#define PACKET_INDEX_SIZE sizeof(unsigned long long)
+#define PACKET_TIMESPEC_SIZE sizeof(time_t)
#define TIMER_FREQUENCY_SECS 1
#define CLOCKID CLOCK_REALTIME
#define SIG SIGRTMIN
-static char data[DATA_SIZE+PACKET_INDEX_SIZE];
+static char data[DATA_SIZE + PACKET_INDEX_SIZE + PACKET_TIMESPEC_SIZE];
/* connection socket */
static int connectfd;
printf("data: %s\n\n", data);
}
+static void fill_buffer(void)
+{
+ static unsigned long long index = 0;
+ char *ptr;
+ time_t curr_time_secs;
+
+ curr_time_secs = time(NULL);
+
+ ptr = data + DATA_SIZE;
+ * (unsigned long long *) ptr = index;
+ ptr += PACKET_INDEX_SIZE;
+ * (time_t *) ptr = curr_time_secs;
+
+ index++;
+}
+
static ssize_t send_buffer(int sockfd)
{
return send(sockfd, data, DATA_SIZE, 0);
{
ssize_t nbytes;
+ fill_buffer();
nbytes = send_buffer(connectfd);
DIE(nbytes < 0, "send_buffer");
- printf("signal delivered\n");
}
static void schedule_timer(void)