add RingQueue(ring buffer)
session: add some comments
session: separate ack and data queue
session: use Packet which includes serial number
session: buffer sent packets, clear them when ack