Commit Graph

935 Commits

Author SHA1 Message Date
Kunal Mohan
913697b144 Place socket file in runtime directory or cache directory and use names crate for socket file name 2021-05-04 20:48:17 +05:30
Kunal Mohan
93956bdcca use bincode::deserialize_from() to prevent data loss. 2021-05-04 20:48:17 +05:30
Kunal Mohan
da9b6fd607 use BufRead and BufWrite with sockets 2021-05-04 20:48:17 +05:30
Kunal Mohan
3f70c585c2 nit fixes 2021-05-04 20:48:16 +05:30
Kunal Mohan
1eb732773a use Uuid to generate unique server socket names 2021-05-04 20:48:16 +05:30
Kunal Mohan
9110e444b8 remove Split, OpenFile and MoveFocus from CliArgs 2021-05-04 20:48:16 +05:30
Kunal Mohan
42079f8d04 Refactor CommandIsExecuting to have a single variant 2021-05-04 20:48:16 +05:30
Kunal Mohan
b7aa3fc21a Use interprocess crate for IPC 2021-05-04 20:48:16 +05:30
Kunal Mohan
9fc1f0038e Refactor ServerInstruction enum to use Action enum 2021-05-04 20:48:16 +05:30
Kunal Mohan
27393dfcf3 Share SessionMetadata between the server_router and the ipc_server thread 2021-05-04 20:48:15 +05:30
Kunal Mohan
246899a1dd Remove ErrorContext from IpcSender and nit fixes 2021-05-04 20:48:15 +05:30
Kunal Mohan
fedb588330 Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
30d0ec2a40 fix terminal window resize tests by restricting lifetime of locks 2021-05-04 20:48:15 +05:30
Kunal Mohan
2a648187fc Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
223ee743e1 Move screen and plugins to client side.
Remove AppInstruction enum
spawn pty thread, screen thread and plugin thread on demand
2021-05-04 20:48:15 +05:30
denis
ee14d5f5dd wip: helper functions for ServerInstruction 2021-05-04 20:48:14 +05:30
Kunal Mohan
ea732166e3 client side threads should send messages directly to server and router threads should do the actual routing 2021-05-04 20:48:14 +05:30
Kunal Mohan
4f088e8185 split start into start_server and start_client 2021-05-04 20:48:14 +05:30
Kunal Mohan
2059d2c6aa Fix after rebase 2021-05-04 20:48:14 +05:30
Kunal Mohan
813547483f Rename notify_server to connect_to_server 2021-05-04 20:47:52 +05:30
Kunal Mohan
e30ec5745e Add router thread on server side as well 2021-05-04 20:47:52 +05:30
Kunal Mohan
90982c3e47 Some documentation an ClientOsApi stuff 2021-05-04 20:47:52 +05:30
Kunal Mohan
fe8fb79da0 a probable fix for tests 2021-05-04 20:47:52 +05:30
Kunal Mohan
af445394c0 minor fix while opening new tab 2021-05-04 20:47:52 +05:30
Kunal Mohan
bbcea31988 Synchronize update tabs actions using command_is_executing 2021-05-04 20:47:52 +05:30
Kunal Mohan
965cc71918 Hide IpcChannel entirely behind OsApi 2021-05-04 20:47:52 +05:30
Kunal Mohan
660434be06 documentation and nit fix 2021-05-04 20:47:52 +05:30
Kunal Mohan
bc2345c413 Hide server-side Ipc channels creation behind OsApis and some documentation fixes 2021-05-04 20:47:52 +05:30
Kunal Mohan
3ef2715827 increase snapshot time 2021-05-04 20:47:51 +05:30
Kunal Mohan
5d06a49f8a fix fmt errors 2021-05-04 20:47:51 +05:30
Kunal Mohan
fd1debaa79 Fix after rebase 2021-05-04 20:47:51 +05:30
Kunal Mohan
be060e9a13 Introduce ServerContext 2021-05-04 20:47:51 +05:30
Kunal Mohan
2ab18244f7 fix tests 2021-05-04 20:47:51 +05:30
Kunal Mohan
0d814ebcde Divide OsApi into ClientOsApi and ServerOsApi and move calls to os thread 2021-05-04 20:47:51 +05:30
denis
70d8be0741 wip: remove the commands that are called only on the client 2021-05-04 20:47:50 +05:30
denis
daddac65aa wip: here goes the os_thread and OsContext 2021-05-04 20:47:50 +05:30
Kunal Mohan
d8986351ed fix testing for pseudo client-server model 2021-05-04 20:47:50 +05:30
denis
627e6b3672 wip: working on osapi message variants 2021-05-04 20:47:50 +05:30
Kunal Mohan
ef1c902be6 Introduce DoneCLosingPane message to ensure atomicity in state change 2021-05-04 20:47:50 +05:30
Kunal Mohan
2111f95f33 remove command_is_executing from pty_thread 2021-05-04 20:47:49 +05:30
Kunal Mohan
5ece7f44cc Use IPC for Server to client as well
Add router thread
2021-05-04 20:47:49 +05:30
Kunal Mohan
831a02b9c0 ensure proper shutdown 2021-05-04 20:47:49 +05:30
Kunal Mohan
77682d9ab5 Use ipmpsc crate for IPC 2021-05-04 20:47:49 +05:30
Kunal Mohan
1ee86f9a77 Introduce serlializable ClientInstruction and Rename ApiCommand 2021-05-04 20:47:49 +05:30
Kunal Mohan
858e48c6aa do not hang on exit 2021-05-04 20:47:49 +05:30
Kunal Mohan
c0e87df14c remove logs 2021-05-04 20:47:49 +05:30
Kunal Mohan
75b07cc6c8 Undo some changes 2021-05-04 20:47:49 +05:30
Kunal Mohan
aef52b0690 Use interprocess crate, BufReader and BufWriter 2021-05-04 20:47:49 +05:30
Kunal Mohan
2943dc7b3b Got things working! But we are loosing data in transmission :( PS: There are debug logs in there 2021-05-04 20:47:49 +05:30
Kunal Mohan
d1a17ef356 undo some changes 2021-05-04 20:47:49 +05:30