### Navigation

- index
- modules |
- next |
- previous |
- Paramiko documentation »

# Packetizer

Packet handling

class `paramiko.packet.``Packetizer`(socket)

  Implementation of the base SSH packet protocol.

  `__weakref__`

    list of weak references to the object (if defined)

  `need_rekey`()

    Returns `True` if a new set of keys needs to be negotiated. This will be triggered during a packet read or write, so it should be checked after every read or write, or at least after every few.

  `read_all`(n, check_rekey=False)

    Read as close to N bytes as possible, blocking as long as necessary.

    Parameters: | n (int) – number of bytes to read
    Returns: | the data read, as a `str`
    Raises EOFError:
    | if the socket was closed before all the bytes could be read

  `read_message`()

    Only one thread should ever be in this function (no other locking is done).

    Raises: | SSHException – if the packet is mangled NeedRekeyException – if the transport should rekey

  `readline`(timeout)

    Read a line from the socket. We assume no data is pending after the line, so it’s okay to attempt large reads.

  `send_message`(data)

    Write a block of data using the current cipher, as an SSH block.

  `set_inbound_cipher`(block_engine, block_size, mac_engine, mac_size, mac_key)

    Switch inbound data cipher.

  `set_keepalive`(interval, callback)

    Turn on/off the callback keepalive. If `interval` seconds pass with no data read from or written to the socket, the callback will be executed and the timer will be reset.

  `set_log`(log)

    Set the Python log object to use for logging.

  `set_outbound_cipher`(block_engine, block_size, mac_engine, mac_size, mac_key, sdctr=False)

    Switch outbound data cipher.