Network drivers

The network drivers are a set of drivers for interacting with network servers.

Driver configuration

class jumpstarter_driver_network.driver.TcpNetwork

TcpNetwork is a driver for connecting to TCP sockets

>>> addr = getfixture("tcp_echo_server") # start a tcp echo server
>>> config = f"""
... type: jumpstarter_driver_network.driver.TcpNetwork
... config:
...   host: {addr[0]} # 127.0.0.1
...   port: {addr[1]} # random port
... """
>>> with run(config) as tcp:
...     with tcp.stream() as conn:
...         conn.send(b"hello")
...         assert conn.receive() == b"hello"
class jumpstarter_driver_network.driver.UdpNetwork

UdpNetwork is a driver for connecting to UDP sockets

>>> config = f"""
... type: jumpstarter_driver_network.driver.UdpNetwork
... config:
...   host: 127.0.0.1
...   port: 41336
... """
>>> with run(config) as udp:
...     pass
class jumpstarter_driver_network.driver.UnixNetwork

UnixNetwork is a driver for connecting to Unix domain sockets

>>> config = f"""
... type: jumpstarter_driver_network.driver.UnixNetwork
... config:
...   path: /tmp/example.sock
... """
>>> with run(config) as unix:
...     pass
class jumpstarter_driver_network.driver.EchoNetwork

EchoNetwork is a mock driver implementing the NetworkInterface

>>> config = """
... type: jumpstarter_driver_network.driver.EchoNetwork
... """
>>> with run(config) as echo:
...     with echo.stream() as conn:
...         conn.send(b"hello")
...         assert conn.receive() == b"hello"

Client API

class jumpstarter_driver_network.client.NetworkClient