Commit Graph

47 Commits

Author SHA1 Message Date
Cheer Xiao
fff0c99526 Use composition to implement tagged union in response
C part still uses conventional tagged union.
2013-06-23 11:09:30 +08:00
Cheer Xiao
58f3a79f7b Let client decode received response as JSON. 2013-06-22 23:24:55 +08:00
Cheer Xiao
ebbf17e3aa Server: Use _<header>_h_ as header guard macro 2013-06-20 14:54:52 +08:00
Cheer Xiao
2872dfab87 Split client into separate go sources 2013-06-19 12:53:54 +08:00
Cheer Xiao
0351de73f1 Pass client/ directory to go build 2013-06-19 12:29:52 +08:00
Cheer Xiao
bd9580577c Client: pass OS environment to server 2013-06-18 22:55:24 +08:00
Cheer Xiao
aef6937ecc Remove Slurp 2013-06-18 22:43:17 +08:00
Cheer Xiao
54098b9049 Remove WriteRes 2013-06-18 22:42:12 +08:00
Cheer Xiao
6e863de197 Pack ResBadRequest.err correctly 2013-06-18 22:41:34 +08:00
Cheer Xiao
c5f84106c8 Use FreeRes instead of free to free response structs 2013-06-18 22:39:49 +08:00
Cheer Xiao
769f642d99 Implement ResBadRequest 2013-06-18 22:39:11 +08:00
Cheer Xiao
5bb812c56e Define _GNU_SOURCE in CFLAGS, not req.c 2013-06-18 22:29:41 +08:00
Cheer Xiao
e7ae49adde Implement ResProcState. 2013-06-18 22:21:41 +08:00
Cheer Xiao
9e5ae112a5 Implement ResCmd. 2013-06-18 22:12:24 +08:00
Cheer Xiao
81cae45f3d Update sample requests in data/. 2013-06-18 21:46:32 +08:00
Cheer Xiao
005375582c Add dasc-dummy, the simpliest dasc implementation for testing 2013-06-18 21:44:38 +08:00
Cheer Xiao
89517efc66 Client: Give up terminal until external state change.
It's now possible to run `cat` and `vim` from `das`! dasc's response handling
is currently very adhoc, though.
2013-06-18 21:32:04 +08:00
Cheer Xiao
d00be693b0 Client: use same name for request structs (Req and ReqCmd) 2013-06-18 21:28:15 +08:00
Cheer Xiao
e7912b400c Server: res module for response building (many stubs now) 2013-06-18 21:26:25 +08:00
Cheer Xiao
0f0fd00f4a Wording: command -> cmd 2013-06-18 18:52:20 +08:00
Cheer Xiao
00138cd4e8 Remove jansson.h inclusion from req.h 2013-06-18 18:48:50 +08:00
Cheer Xiao
5a42141afb server: more naming convention change 2013-06-18 18:47:47 +08:00
Cheer Xiao
95c85f5bfc Use CapitalKeys in request JSON 2013-06-18 18:41:04 +08:00
Cheer Xiao
1a1b4e4593 Implement request type ReqExit 2013-06-18 18:39:28 +08:00
Cheer Xiao
a6b867455f req.c: adopt a golang-like naming style 2013-06-18 01:24:09 +08:00
Cheer Xiao
b9994c8042 Make request JSON reflect tagged union. 2013-06-18 01:05:27 +08:00
Cheer Xiao
5891793006 Swap two return values of recv_req. 2013-06-18 00:54:49 +08:00
Cheer Xiao
7a962331ab req.c: parse_* is now called load_*. 2013-06-18 00:48:50 +08:00
Cheer Xiao
27fd6c9917 The global variable req is now called g_reqfile. 2013-06-18 00:46:00 +08:00
Cheer Xiao
c5af89c93f A request is now a req_t, which is a tagged union.
Currently the only implemented variant is req_command_t; req_exit_t will
follow soon.
2013-06-18 00:45:50 +08:00
Cheer Xiao
4d1f211ce2 abstract req module to receive a command_t directly (still a bit messy) 2013-06-17 18:44:39 +08:00
Cheer Xiao
9bded94875 Move req FILE to req module; set its FD_CLOEXEC 2013-06-17 13:27:42 +08:00
Cheer Xiao
c2c234852e Rearrange C modules: request-related goes to req.c 2013-06-17 12:27:27 +08:00
Cheer Xiao
1b08d75935 Rearrange source tree. The golang part is likely to be unconforming. 2013-06-17 12:19:30 +08:00
Cheer Xiao
1508de72a5 pick_req -> recv_req 2013-06-16 17:25:48 +08:00
Cheer Xiao
1a6f7c5985 das.c: make req and res global variables 2013-06-16 17:25:08 +08:00
Cheer Xiao
6ef2ab157f add a README 2013-06-16 16:45:22 +08:00
Cheer Xiao
a8135888df dasc.go: very rough (but working!) REPL 2013-06-16 16:37:17 +08:00
Cheer Xiao
99e7175ce3 Tupfile: add rule for dasc.go -> dasc 2013-06-16 16:09:29 +08:00
Cheer Xiao
ba8aabfd04 dasc.go: a stub dasc implementation 2013-06-16 16:08:08 +08:00
Cheer Xiao
0480b4b7b2 das.c: work should only wait for spawned external 2013-06-16 13:33:16 +08:00
Cheer Xiao
8fab2ac120 das.c: send spawning status to response pipe 2013-06-16 12:58:50 +08:00
Cheer Xiao
fc4ce83862 das.c: close request and response pipes after forking to an external 2013-06-16 12:45:34 +08:00
Cheer Xiao
06793526af das.c: exit when request pipe gets closed 2013-06-16 12:43:54 +08:00
Cheer Xiao
f2cc69b5bb parse.c: use json_unpack 2013-06-15 22:26:53 +08:00
Cheer Xiao
53766adfef switch to pipe for ipc 2013-06-15 21:57:28 +08:00
Cheer Xiao
d58189d844 das, an experimental Unix shell 2013-06-14 17:22:55 +08:00