timestamp -> Time
[permalink][rdoc][edit]-
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクトで返します。
"タイムスタンプ制御メッセージ" は以下のいずれかです。
- SOL_SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
- SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
- SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD
require 'socket' Addrinfo.udp("127.0.0.1", 0).bind {|s1| Addrinfo.udp("127.0.0.1", 0).bind {|s2| s1.setsockopt(:SOCKET, :TIMESTAMP, true) s2.send "a", 0, s1.local_address ctl = s1.recvmsg.last p ctl #=> #<Socket::AncillaryData: INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581> t = ctl.timestamp p t #=> 2009-02-24 17:35:46 +0900 p t.usec #=> 775581 p t.nsec #=> 775581000 } }
[SEE_ALSO] Socket::Constants::SCM_TIMESTAMP, Socket::Constants::SCM_TIMESTAMPNS, Socket::Constants::SCM_BINTIME, Socket::Constants::SO_TIMESTAMP, Socket::Constants::SO_TIMESTAMPNS, Socket::Constants::SO_BINTIME