With a JSON packet (the typical packet type sent via the transport),
data is transferred as a JSON packet serialized into a string,
with the string length prepended to the packet, followed by a colon
([length]:[packet]). The contents of the JSON packet are specified in
the Remote Debugging Protocol specification.

Arguments:

transport (DebuggerTransport) – Transport instance that will own the packet.

With a bulk packet, data is transferred by temporarily handing over
the transport’s input or output stream to the application layer for
writing data directly. This can be much faster for large data sets,
and avoids various stages of copies and data duplication inherent in
the JSON packet type. The bulk packet looks like:

bulk [actor] [type] [length]:[data]

The interpretation of the data portion depends on the kind of actor and
the packet’s type. See the Remote Debugging Protocol Stream Transport
spec for more details.

Arguments:

transport (DebuggerTransport) – Transport instance that will own the packet.