Jōshin
0107c83252
khan: full round trip achieved
...
We now take %avow effects and send them back over the wire as a jammed
noun.
At this point the basic driver functionality is in place and should be
working. Still needed to finish this off are:
- Error-handling in the case of a malformed jammed noun.
- Handling requests to close the connection.
- Code review.
2021-10-22 05:27:45 +00:00
Jōshin
21b60615d1
khan: skeleton for effect parsing
...
This is a direct port from http.c, including _reck_lily, which should
probably get factored out.
We parse sequence numbers even though they aren't yet stored on the C
side, just in case we wind up needing them later.
Still not actually handling effects.
2021-10-21 07:11:26 +00:00
Jōshin
64730a3b30
khan: close stream on EOF
...
Also removes debug print in _khan_moor_poke.
2021-10-21 07:11:26 +00:00
Jōshin
c10e2319be
khan: log on unlink on exit
2021-10-21 07:11:26 +00:00
Jōshin
a48e627951
khan: constant first
2021-10-21 07:11:26 +00:00
Jōshin
b3e71b1e55
khan: send as %fyrd
...
With this, you can now send a jammed `[%mas ~]` with length over the
socket, and %khan will recognize it as a `%fyrd` and print out
`[%todo %mas ~]`.
2021-10-21 07:11:26 +00:00
Jōshin
1dab3898f1
khan: sending requests to vane
...
The vane is of course bailing all over the place, and we probably need
to handle errors better (and maybe also count task numbers / introduce
the concept of a 'request' at C level?), but we're moving...
2021-10-21 07:11:26 +00:00
Jōshin
f51137d663
khan: cue, remove obsolete read_cb
2021-10-21 07:11:26 +00:00
Jōshin
f1fee9e1d0
khan: remove ioctl include
2021-10-21 07:11:26 +00:00
Jōshin
eab4ed9477
khan: do not unlink / close unless live
2021-10-21 07:11:26 +00:00
Jōshin
77db31f187
khan: use u3_moor
2021-10-21 07:11:26 +00:00
Jōshin
b3f12cf9ba
khan: minor formatting cleanup
2021-10-21 07:11:26 +00:00
Jōshin
33d269f493
khan: wip use u3_moat instead of raw uv_pipe_t
...
This may be scrapped or redone as I grok newt.c. All that this
accomplishes is putting the different data structure in place, declaring
intent to use.
2021-10-21 07:11:26 +00:00
Jōshin
ba76bcbc32
khan: close on uv_read_start failure
...
Also do some minor cleanup.
2021-10-21 07:11:26 +00:00
Jōshin
e56ab9da1d
khan: refactor, fix memory issues
...
Goes ahead and makes the socket its own separate data structure linked
from u3_khan. Makes it easier to get proper links to everything without
fiddling with offsetof. Seems to resolve the memory corruption issues we
were seeing.
Also make an effort to shutdown / close resources on exit.
2021-10-21 07:11:26 +00:00
Jōshin
dd5b833b2d
khan: fix pointer reference
...
Using offsetof is very gross and probably suggests something is wrong
somewhere. Maybe we should store the server configuration on a separate
object from the khan configuration? But in the case of khan there isn't
really a concept of multiple servers...
N.B. We still have memory corruption.
2021-10-21 07:11:26 +00:00
Jōshin
005f80ae0d
khan: wip driver implementation
...
Implements the connection callback, which accepts and opens up the read
end of the pipe, then just waits. Stores open connections on u3_khan.
Uses simple incrementing connection numbers.
I noticed in here that vere/newt.c seems to implement a protocol much
like the one we're looking for; may try to switch to using that more
explicitly.
Needs more well-thought-out error handling policy in connection
callback. What do we do -- bail? Deliver a non-fatal error and drop the
connection?
2021-10-21 07:11:26 +00:00
Jōshin
4d237ca65f
khan: error handling
...
Ye olde C style nested gotos. Have not tested edge cases thoroughly yet;
should do prior to release.
2021-10-21 07:11:26 +00:00
Jōshin
296c8f0e94
khan: open socket on %born completion
2021-10-21 07:11:26 +00:00
Jōshin
1ac2a15201
khan: use u3_Host.dir_c consistently
2021-10-21 07:11:26 +00:00
Jōshin
0922e66111
khan: thinking intensifies
2021-10-21 07:11:26 +00:00
Jōshin
d0fd562102
khan: thoughts in conn_cb
2021-10-21 07:11:25 +00:00
Jōshin
f169e48cb3
khan: no uv_connect_t, spacing
2021-10-21 07:11:25 +00:00
Jōshin
368c09d86d
khan: sequence number before socket open
2021-10-21 07:11:25 +00:00
Jōshin
9a9455d442
khan: TODO, init pipe after unlink
2021-10-21 07:11:25 +00:00
Jōshin
bcc97b728e
khan: assert name
2021-10-21 07:11:25 +00:00
Jōshin
0fa6a70801
khan: unlink socket on close
...
Made URB_SOCK_PATH an array instead of pointer as well, to be able to
use sizeof.
2021-10-21 07:11:25 +00:00
Jōshin
c1f38c7397
http: check return of snprintf
...
Purely cautionary / defensive programming; no reason to think this would
have been a problem.
2021-10-21 07:11:25 +00:00
Jōshin
fc95d7ded7
khan: listening on socket
2021-10-21 07:11:25 +00:00
Jōshin
f2df8b83d5
khan: io driver skeleton
2021-10-21 07:11:25 +00:00
Jōshin
0102bb271f
behn: comment spacing
2021-10-21 07:11:25 +00:00
Joe Bryan
94878e695e
ur: fixes preorder handle destructor in jam handle destructor
2021-10-12 11:34:09 -04:00
Joe Bryan
9cb53597fb
ur: fixes "stack" overflow in preorder traversal, simplifies "stack"
2021-10-12 11:33:12 -04:00
Joe Bryan
9a1b9b4450
Merge branch 'master' into release/next-vere
...
* master: (595 commits)
grid: updating glob
landscape: updating glob
graph-store: clean up merge artefact
interface: reduce %all-stats correctly
docket: correctly en-vase a docket definition
kiln: don't +mean the tang noun alongside the tang
hood: scry for list of desks with empty desk name
hood: remove needless weld
hood: report %kids desk hash in +report-vats
landscape: fix joining indicator in statusbar
interface: reduce %saw-place correctly
app-prefs: fixing logic around enabled
pull-hook: add nice flag to kick poke
graph-pull-hook: renegotiate subscriptions
graph-store: Handle missing update-logs gracefully in scries
arvo: update jamfiles
landscape: correctly freeze graph-update-2
jael: on rekey, update life if moon
tmp/ jamfiles
btc: updating glob
...
2021-10-05 11:33:08 -04:00
Hunter Miller
f5fc13706a
grid: updating glob
2021-10-04 15:16:57 -05:00
Hunter Miller
3d8bd05499
landscape: updating glob
2021-10-04 15:12:15 -05:00
fang
ea6147bd66
graph-store: clean up merge artefact
2021-10-05 00:00:13 +04:00
fang
aa48973c6a
Merge branch 'release/next-userspace'
2021-10-04 23:45:45 +04:00
fang
0a847c11f2
Merge pull request #5281 from urbit/lf/landscape-fix
...
landscape: fix chats not bumping, hide spinner correctly
2021-10-04 21:25:29 +02:00
fang
cce5050bc9
Merge pull request #5298 from urbit/lf/fix-unreads-issues
...
interface: ignore wrong desk hark updates
2021-10-04 21:25:21 +02:00
fang
d606ba61d1
Merge pull request #5204 from urbit/lf/handle-undef-assoc
...
interface: Handle undefined association in getFeedPath
2021-10-04 21:22:09 +02:00
fang
08a1730197
Merge pull request #5278 from urbit/hm/fix-app-ota-setting
...
app-prefs: fixing logic around enabled
2021-10-04 21:14:12 +02:00
fang
4bb7b37582
Merge pull request #5284 from urbit/ea/report-kids-hash
...
hood: report %kids desk hash in +report-vats
2021-10-04 21:12:32 +02:00
fang
2a0e0c9dbe
Merge pull request #5290 from urbit/m/kiln-prettier-onto
...
kiln: don't +mean the tang noun alongside the tang
2021-10-04 21:12:03 +02:00
Joe Bryan
6c43748f2c
Merge pull request #5295 from urbit/jb/serf-whey
...
vere: updates worker memory measurement to include full profile
2021-10-04 10:09:26 -07:00
Liam Fitzgerald
9ccff90d77
interface: reduce %all-stats correctly
2021-10-04 19:30:13 +10:00
Joe Bryan
46dd61d547
serf: updates grab to fallback to old output on error
2021-10-02 21:39:48 -04:00
Joe Bryan
87d9398a31
serf: disable hashboard in meld
2021-10-02 21:39:30 -04:00
fang
ef93dd88d2
docket: correctly en-vase a docket definition
2021-10-02 17:30:56 +02:00
fang
66b8c046b7
kiln: don't +mean the tang noun alongside the tang
2021-10-02 13:07:23 +02:00