# 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 }