os_pcap.h
Packet Info
-
struct packet_info
Public Members
-
std::string dst_ip
The destination IP.
-
std::string src_ip
The source IP.
-
int dst_port
The destination port.
-
int src_port
The source port.
-
size_t payload_size
The size of the packet payload.
-
size_t packet_size
The size of the full packet.
-
ts timestamp
The packet capture timestamp.
-
int fragments_in_packet
Number of fragments in the packet.
-
int ip_version
The ip version, 4 or 6.
-
int encapsulation_protocol
PCAP encapsulation type.
-
uint64_t file_offset
Where the packet is in the pcap.
-
int network_protocol
IANA protocol number. Always 17 (UDP)
-
std::string dst_ip
-
std::ostream &ouster::sensor_utils::operator<<(std::ostream &stream_in, const packet_info &data)
To string method for packet info structs.
- Parameters:
stream_in – [inout] The pre-existing ostream to concat with data.
data – [in] The packet_info to output.
- Returns:
The new output stream containing concatted stream_in and data.
Handles
Warning
doxygenstruct: Cannot find class “ouster::sensor_utils::record_handle” in doxygen xml output for project “cpp_api” from directory: /ouster-sdk/docs/_build/latest/doctrees/xml
Warning
doxygenstruct: Cannot find class “ouster::sensor_utils::playback_handle” in doxygen xml output for project “cpp_api” from directory: /ouster-sdk/docs/_build/latest/doctrees/xml
Functions
-
std::shared_ptr<playback_handle> ouster::sensor_utils::replay_initialize(const std::string &file)
Initialize the stepwise playback handle.
- Parameters:
file – [in] The file path of the pcap file.
- Returns:
A handle to the initialized playback struct.
-
void ouster::sensor_utils::replay_uninitialize(playback_handle &handle)
Uninitialize the stepwise playback handle.
- Parameters:
handle – [in] A handle to the initialized playback struct.
-
void ouster::sensor_utils::replay_reset(playback_handle &handle)
Restart playback from the beginning of the pcap file.
- Parameters:
handle – [in] A handle to the initialized playback struct.
-
bool ouster::sensor_utils::next_packet_info(playback_handle &handle, packet_info &info)
Return the information on the next packet avaliable in the playback_handle. This must be called BEFORE calling the read_next_packet function.
- Parameters:
handle – [in] The playback handle.
info – [out] The returned information on the next packet.
- Returns:
The status on whether there is a new packet or not.
-
size_t ouster::sensor_utils::read_packet(playback_handle &handle, uint8_t *buf, size_t buffer_size)
Read the data from the next packet avaliable in the playback_handle. This must be called AFTER calling the next_packet_info function.
- Parameters:
handle – [in] The playback handle.
buf – [out] The buffer to write the recieved data to (Must be sized appropriately.
buffer_size – [in] The size of the output buffer.
- Returns:
0 on no new packet, > 0 the size of the bytes recieved.
-
std::shared_ptr<record_handle> ouster::sensor_utils::record_initialize(const std::string &file, int frag_size, bool use_sll_encapsulation = false)
Initialize the record handle for recording multi sensor pcap files. Source and destination IPs must be provided with each packet.
- Parameters:
file – [in] The file path to the target pcap to record to.
frag_size – [in] The size of the fragments for packet fragmentation.
use_sll_encapsulation – [in] Whether to use sll encapsulation.
- Returns:
record_handle A handle to the initialized record.
-
void ouster::sensor_utils::record_uninitialize(record_handle &handle)
Uninitialize the record handle, closing underlying file.
- Parameters:
handle – [in] An initialized handle for the recording state.
-
void ouster::sensor_utils::record_packet(record_handle &handle, const std::string &src_ip, const std::string &dst_ip, int src_port, int dst_port, const uint8_t *buf, size_t buffer_size, uint64_t microsecond_timestamp)
Record a buffer to a multi sensor record_handle pcap file.
- Parameters:
handle – [in] The record handle that record_initialize has initted.
src_ip – [in] The source address to label the packets with.
dst_ip – [in] The destination address to label the packets with.
src_port – [in] The source port to label the packets with.
dst_port – [in] The destination port to label the packets with.
buf – [in] The buffer to record to the pcap file.
buffer_size – [in] The size of the buffer to record to the pcap file.
microsecond_timestamp – [in] The timestamp to record the packet as microseconds.