void setSocketTimestamps(int fd)
{
+#ifdef SO_TIMESTAMP
int on=1;
if (setsockopt(fd, SOL_SOCKET, SO_TIMESTAMP, (char*)&on, sizeof(on)) < 0 )
L<<Logger::Error<<"Warning: unable to enable timestamp reporting for socket"<<endl;
+#endif
}
static bool HarvestTimestamp(struct msghdr* msgh, struct timeval* tv)
{
+#ifdef SO_TIMESTAMP
struct cmsghdr *cmsg;
for (cmsg = CMSG_FIRSTHDR(msgh); cmsg != NULL; cmsg = CMSG_NXTHDR(msgh,cmsg)) {
if ((cmsg->cmsg_level == SOL_SOCKET) && (cmsg->cmsg_type == SO_TIMESTAMP) &&
return true;
}
}
+#endif
return false;
}