def _pipeline_read_frame(self, *, mpfdp, mpkit):
<EOL>if self._flag_e:<EOL><INDENT>raise EOFError<EOL><DEDENT>def _analyse_frame(*, frame, mpkit):<EOL><INDENT>"""<STR_LIT>"""<EOL>while mpkit.current != self._frnum:<EOL><INDENT>time.sleep(random.randint(<NUM_LIT:0>, datetime.datetime.now().second) // <NUM_LIT>)<EOL><DEDENT>self._trace = mpkit.trace<EOL>self._reasm = mpkit.reassembly<EOL>self._default_read_frame(frame=frame, mpkit=mpkit)<EOL>mpkit.trace = copy.deepcopy(self._trace)<EOL>mpkit.reassembly = copy.deepcopy(self._reasm)<EOL><DEDENT>try:<EOL><INDENT>frame = Frame(self._ifile, num=self._frnum, proto=self._dlink, layer=self._exlyr,<EOL>protocol=self._exptl, nanosecond=self._nnsec, mpkit=mpkit, mpfdp=mpfdp)<EOL>_analyse_frame(frame=frame, mpkit=mpkit)<EOL><DEDENT>except EOFError:<EOL><INDENT>mpkit.eof = True<EOL><DEDENT>finally:<EOL><INDENT>mpkit.counter -= <NUM_LIT:1><EOL>self._ifile.close()<EOL><DEDENT>
Extract frame.