Commit Graph

31 Commits

Author SHA1 Message Date
John Hood 8aac3cc927 Allow non-inserting prediction.
This may be useful for users who find prediction's activity right of
the cursor distracting.

Prediction underscoring is still a little weird sometimes, it replays
a history of known/unknown changes as acks come in from the server.
2017-08-02 00:31:37 -04:00
John Hood 24eb5a7544 Remove a Network::Exception that isn't one.
Code smell pointed out by Coverity.
2016-11-19 21:11:04 -05:00
John Hood 32afa96111 Change Framebuffer's containers/methods to improve performance.
* Reduce the size of Terminal::Cell.
* Change colors and attributes in Terminal::Rendition to bitfields/bitmask.
* Change Cells to use UTF-8 strings instead of vector<wchar_t>.  Store Rows in a vector instead of a deque.
* Add various Framebuffer::append() methods for more efficient passing of single and repeated characters.
* Change title/icon strings from deques to a vector typedef-- this is more for tidiness than any real performance.
2015-12-06 17:42:34 -05:00
John Hood fc80eaaecf Show the escape key properly when server unavailable.
Fixes #624.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-11 00:49:06 -04:00
Geoffrey Thomas 5721b392ab Make all exception classes inherit from std::exception
This refactors out a very common pattern of formatting "%s: %s" with
e.function.c_str() and strerror( e.the_errno ) into just the what()
method of NetworkException. It's also a prerequisite for making cleaner
public API for any exceptions we throw, and allows us to more easily
get exceptions passed back to us to handle.
2015-06-04 23:47:31 -04:00
Keith Winstein a2da17d48a Don't immediately clear network exceptions, even when problem solved 2012-11-26 04:19:56 -05:00
Keith Winstein e2b40fcaa7 Show infobar when Ctrl-^ is typed. 2012-11-26 04:03:04 -05:00
Ira Cooper deecf6bb2f Add limits.h to allow for illumos to compile.
Closes #331
2012-10-05 04:02:11 -04:00
Keith Winstein 92ecb99b71 Add OpenSSL licensing exception 2012-07-20 16:46:00 -04:00
Keith Winstein 2df9e07926 Add "experimental" mode to local echo (always predict even when incorrect) 2012-06-11 13:21:44 -04:00
Keegan McAllister 24d2b6e185 Calculate wait_time separately for {Notification,Prediction}Engine
Simplifies access to private data, including the next commit.

git renders this diff poorly.  It's a bit better with --patience.
2012-05-09 14:19:46 -04:00
Keegan McAllister 02c04fbdaa Display sendto() exception until a successful send 2012-05-09 14:19:46 -04:00
Keegan McAllister 9dddcd8566 Move NetworkException formatting into NotificationEngine 2012-05-09 14:19:46 -04:00
Keith Winstein 2ea3f3a347 Warn when server has not heard from us (even if we have heard from server) 2012-04-30 22:43:45 -04:00
Keith Winstein b127a92617 Back off overlay frame rate when all timing tests have fired (saves CPU)
Closes #225 github issue (Jay Freeman).
2012-04-19 00:07:51 -04:00
Keith Winstein a8c3df9c80 More robust shutdown sequence with warning on unclean shutdown. 2012-04-16 06:22:35 -04:00
Keith Winstein cca925e020 Reset prediction engine after size has changed (i.e. after Resize is applied) 2012-04-16 03:06:11 -04:00
Keegan McAllister cd2d482484 Don't use *_t for our own typedefs
It's reserved by POSIX.

(closes #158 pull request)
2012-04-15 13:50:18 -04:00
Keegan McAllister 06fa8eaedb Remove boost::lambda from PredictionEngine::get_or_make_row 2012-04-15 13:49:15 -04:00
Keegan McAllister 5f1bc88ed8 Remove boost::lambda with for_each in terminaloverlay.cc 2012-04-15 13:49:15 -04:00
Keegan McAllister 4152af9c8e Remove BOOST_AUTO from terminaloverlay.cc 2012-04-15 13:49:15 -04:00
Keith Winstein 53ab10a645 Optimize ConditionalOverlayCell::reset_with_orig() (52% speedup!) 2012-03-14 01:26:11 -04:00
Keith Winstein e1452fc333 Relax glitch test for flagging 2012-03-12 16:28:27 -04:00
Keith Winstein dc1c49975f Underline when empirical delay gets >500ms, even if SRTT hasn't (fixes #35) 2012-03-07 04:09:40 -05:00
Keith Winstein 10fdb6abff Make echo ack the ONLY check for prediction expiration (closes #16 on github) 2012-02-25 15:06:47 -05:00
Keith Winstein e9ce05bc7b Lengthen blue bar timeout to require two heartbeat drops (closes #20 gh issue) 2012-02-25 12:20:00 -05:00
Anders Kaseorg 6c52c1d306 Purge ‘using namespace std’ from header files
std::bind and boost::lambda::bind don’t mix.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 20:22:12 -05:00
Keith Winstein 8c7c5340d4 User selectable prediction mode (fixes #9 github issue) 2012-02-13 03:50:03 -05:00
Keith Winstein 0b4cf8af3d Only display prediction overlay when triggered by slowness
Here we maintain the predictions always, but we only display the overlay
when either a threshold of smoothed round-trip time is met or temporarily
after a "glitch."
2012-02-09 02:56:01 -05:00
Keith Winstein 3781a290c8 Add copyright/license notices 2012-02-06 20:52:48 -05:00
Keith Winstein 38c9e99882 Separate modules by subdirectory 2012-02-06 18:26:45 -05:00