+Packet& Packet::operator>>(float& value)
+{
+ // XXX: assumes the ieee-754
+ uint32_t* integer = reinterpret_cast<uint32_t*>(&value);
+ read(integer, sizeof(value));
+ *integer = htonl(*integer);
+ return *this;
+}
+
+Packet& Packet::operator>>(double& value)
+{
+ // XXX: assumes the ieee-754
+ uint64_t* integer = reinterpret_cast<uint64_t*>(&value);
+ read(integer, sizeof(value));
+ *integer = htonll(*integer);
+ return *this;
+}