3 ms·
Right. ncurses, too, implements the same kind of lazy redrawing of screen contents, and probably all graphics systems do this as well. The technique is fairy ol
by eudox 10y ago
Right. ncurses, too, implements the same kind of lazy redrawing of screen contents, and probably all graphics systems do this as well. The technique is fairy old.
- derefr 10y agoForms in the 3270 protocol go a bit beyond lazy redrawing; AJAX is a (semi-)valid comparison. Effectively, when you "submit" a screen on a 3270, what you're sending back over the connection (before any optimizations) is the same block of characters you were originally sent to render the screen—but with your modifications, appearing exactly in the places you made them. The "addressable locations" allow for both reading and writing—as in, both sending updates from the server to the client (ncurses-like), and the client to the server (AJAX-like "onblur" submission of individual form fields.) Effectively, the client and server are both keeping a representation of the same terminal character-bufer (like screen(1) or VNC), but instead of sending updates whenever either side changes, updates are explicit. And so most 3270 server software uses the "the client synchronized the buffer to the server" event as the trigger for parsing, validating and persisting the data out of the buffer. When put that way, it's more like some kind of... REpresentational State Transfer, isn't it?