CS144Lab/libsponge/tcp_helpers/tcp_over_ip.hh
2021-10-19 18:08:12 -07:00

20 lines
517 B
C++

#ifndef SPONGE_LIBSPONGE_TCP_OVER_IP_HH
#define SPONGE_LIBSPONGE_TCP_OVER_IP_HH
#include "buffer.hh"
#include "fd_adapter.hh"
#include "ipv4_datagram.hh"
#include "tcp_segment.hh"
#include <optional>
//! \brief A converter from TCP segments to serialized IPv4 datagrams
class TCPOverIPv4Adapter : public FdAdapterBase {
public:
std::optional<TCPSegment> unwrap_tcp_in_ip(const InternetDatagram &ip_dgram);
InternetDatagram wrap_tcp_in_ip(TCPSegment &seg);
};
#endif // SPONGE_LIBSPONGE_TCP_OVER_IP_HH