def GMLAN_RequestDownload(sock, length, timeout=None, verbose=None, retry=0): # type: (SuperSocket, int, Optional[int], Optional[bool], int) -> bool """ Send RequestDownload message. Usually used before calling TransferData. :param sock: socket to send the message on. :param length: value for the message's parameter 'unCompressedMemorySize'. :param timeout: timeout for sending, receiving or sniffing packages. :param verbose: set verbosity level. :param retry: number of retries in case of failure. :return: True on success """ if verbose is None: verbose = conf.verb > 0 retry = abs(retry) while retry >= 0: # RequestDownload pkt = GMLAN() / GMLAN_RD(memorySize=length) resp = sock.sr1(pkt, timeout=timeout, verbose=0) if _check_response(resp, verbose): return True retry -= 1 if retry >= 0 and verbose: print("Retrying..") return False
def GMLAN_RequestDownload(sock, length, timeout=None, verbose=None, retry=0): """Send RequestDownload message. Usually used before calling TransferData. Args: sock: socket to send the message on. length: value for the message's parameter 'unCompressedMemorySize'. timeout: timeout for sending, receiving or sniffing packages. verbose: set verbosity level. retry: number of retries in case of failure. Returns true on success. """ if verbose is None: verbose = conf.verb retry = abs(retry) while retry >= 0: # RequestDownload pkt = GMLAN() / GMLAN_RD(memorySize=length) resp = sock.sr1(pkt, timeout=timeout, verbose=0) if _check_response(resp, verbose): return True retry -= 1 if retry >= 0 and verbose: print("Retrying..") return False
def _get_initial_requests(self, **kwargs): # type: (Any) -> Iterable[Packet] return [GMLAN() / GMLAN_RD(memorySize=0x10)]