This call un-links an association that was made using bind_bottom_up. Have a look at help(bind_bottom_up)
(lower, # type: Type[Packet]
upper, # type: Type[Packet]
__fval=None, # type: Optional[Any]
**fval # type: Any
)
| 2117 | |
| 2118 | |
| 2119 | def split_bottom_up(lower, # type: Type[Packet] |
| 2120 | upper, # type: Type[Packet] |
| 2121 | __fval=None, # type: Optional[Any] |
| 2122 | **fval # type: Any |
| 2123 | ): |
| 2124 | # type: (...) -> None |
| 2125 | """This call un-links an association that was made using bind_bottom_up. |
| 2126 | Have a look at help(bind_bottom_up) |
| 2127 | """ |
| 2128 | if __fval is not None: |
| 2129 | fval.update(__fval) |
| 2130 | |
| 2131 | def do_filter(params, cls): |
| 2132 | # type: (Dict[str, int], Type[Packet]) -> bool |
| 2133 | params_is_invalid = any( |
| 2134 | k not in params or params[k] != v for k, v in fval.items() |
| 2135 | ) |
| 2136 | return cls != upper or params_is_invalid |
| 2137 | lower.payload_guess = [x for x in lower.payload_guess if do_filter(*x)] |
| 2138 | |
| 2139 | |
| 2140 | def split_top_down(lower, # type: Type[Packet] |