Expand description
What exec and attach sessions share: the connection to the client, its input and the final status.
Modulesยง
- pending_
stdin ๐ - The stdin of a client which waits for the container, see
PendingStdin.
Structsยง
- Client
Rx ๐ - What the input of a client hands to the loop of its session.
- Resize
Event ๐ - Terminal resize event for exec and attach. Kubernetes decodes it with
Go, which matches the names of the fields regardless of their case, so
clients send
{"width":80}as well as{"Width":80}, and leaves a missing or null field at zero, and a null event all zero. ForWidthandHeight, ASCII case folding accepts the same names as the Unicode case folding of Go, which only adds the Kelvin sign forkand the long s fors. - Session
Input ๐ - Forwards the stdin and the resize events of a client to the process, for the loops of exec and attach sessions, which forward the output meanwhile.
Enumsยง
- Event
End ๐ - How a single event of a client ended its input, see
StreamingServer::read_event. - Input
End ๐ - How the input of a client ended.
- Input
Event ๐ - What the loop of a session has to handle.
Constantsยง
- PENDING_
STDIN_ ๐MAX_ BYTES - How much stdin the read task holds while the container does not take it, on top of the stdin channel. The socket is still read meanwhile, so that resize events and the close do not wait behind it. The message which fills it comes on top, also when it is larger than all of it.
- PING_
INTERVAL ๐ - How often a session pings the client, to notice a client which went away also while its stdin waits for the container. A WebSocket session pings only while stdin waits, a SPDY connection all the time.
- STDIN_
FLUSH_ ๐TIMEOUT - How long the stdin which the client sent right before closing may wait for
the container to take a part of it, see
ClientRx::stdin_taken. A slow container gets all of it, only one which stopped reading its stdin holds up the end of the session this long. - STDIN_
QUEUE_ ๐SIZE - How many entries of stdin wait for the session loop. Each is at most
STDIN_CHUNK_SIZE, more of them would only hold more stdin which the container did not take.
Type Aliasesยง
- Resize
Rx ๐ - The latest resize event of a client, older ones are replaced.