#![allow(dead_code, unused_imports)]
use sciparse::{
core::view::View,
header::view::ScionHeaderView,
path::{
standard::view::{HopFieldView, InfoFieldView},
view::{ScionPathView, ScionPathViewMut},
},
};
use super::{path, read_slice_bounds, touch_slice_bounds};
pub fn exec_every_view_function(view: &mut ScionHeaderView) {
let _ = view.version();
let _ = view.traffic_class();
let _ = view.flow_id();
let _ = view.next_header();
let _ = view.payload_len();
let _ = view.header_len();
let _ = view.path_type();
let _ = view.path_type_range();
let _ = view.dst_addr_type();
let _ = view.src_addr_type();
view.set_version(view.version());
view.set_traffic_class(view.traffic_class());
view.set_flow_id(view.flow_id());
view.set_next_header(view.next_header());
unsafe {
view.set_payload_len(view.payload_len());
view.set_header_len(view.header_len());
view.set_path_type(view.path_type());
view.set_dst_addr_type(view.dst_addr_type());
view.set_src_addr_type(view.src_addr_type());
}
let _ = view.dst_ia();
let _ = view.dst_isd();
let _ = view.dst_as();
let _ = view.src_ia();
let _ = view.src_isd();
let _ = view.src_as();
let _ = view.dst_host_addr();
let _ = view.src_host_addr();
let _ = view.src_host_addr_range();
view.set_src_isd(view.src_isd());
view.set_src_as(view.src_as());
view.set_dst_isd(view.dst_isd());
view.set_dst_as(view.dst_as());
match view.path() {
ScionPathView::Standard(p) => path::exec_standard_path_view(p),
ScionPathView::OneHop(p) => path::exec_onehop_path_view(p),
ScionPathView::Unsupported { path_type: _, data } => {
read_slice_bounds(data);
}
ScionPathView::Empty => {}
}
match view.path_mut() {
ScionPathViewMut::Standard(p) => path::exec_standard_path_view_mut(p),
ScionPathViewMut::OneHop(p) => path::exec_onehop_path_view_mut(p),
ScionPathViewMut::Unsupported { path_type: _, buf } => {
touch_slice_bounds(buf);
}
ScionPathViewMut::Empty => {}
}
}