ludic/packages/ludic.devlink/state.ludic
2026-09-29 22:48:34 +03:00

30 lines
1.2 KiB
Text

# state.ludic - the socket, the two buffers and the one late answer in flight; made once, reused every frame
export const DL_BUF: int = 8192
export const DL_LATE_S: float = 5.0 # a late answer gives up after this long
export const DL_NONE: int = 0 # what is waiting to be answered
export const DL_MAP: int = 1
export const DL_SHOT: int = 2
export const DL_STEP: int = 3
export state DevlinkState {
dl_h: int = -1
dl_tried: bool = false
dl_in: []byte = buffer(DL_BUF)
dl_out: []byte = buffer(DL_BUF)
dl_str: []byte = buffer(DL_BUF) # a quoted argument, unescaped
dl_path: []byte = buffer(1024) # the waiting shot's path, for its answer
dl_path_n: int = 0
dl_n: int = 0 # bytes in dl_in
dl_at: int = 0 # the reader's cursor
dl_bad: bool = false # the reader met something it could not read
dl_o: int = 0 # bytes in dl_out
dl_ip: int = 0
dl_port: int = 0
dl_pend: int = 0
dl_pend_id: int = 0
dl_pend_ip: int = 0
dl_pend_port: int = 0
dl_pend_t: float = 0.0
dl_cam: DevlinkCam = new DevlinkCam
dl_ui: DevlinkUiScreen = new DevlinkUiScreen
}