herm: use /$ to keep mark conversions cached
Instead of hand-rolling logic to keep these warm.
::
/- herm
/+ default-agent, dbug, verb
-=, jael
+:: keep relevant mark conversions in cache for performance
+::
+/$ bj %blit %json
+/$ jb %json %belt
+/$ jt %json %herm-task
+::
|%
+$ state-0 [%0 ~]
--
%- agent:dbug
^- agent:gall
=> |%
- ++ request-tube
- |= [bowl:gall from=mark to=mark next=?]
- ^- card:agent:gall
- :* %pass /tube/[from]/[to]
- %arvo %c %warp
- our q.byk ~
- ::
- ?: next
- [%next %c da+now /[from]/[to]]
- [%sing %c da+now /[from]/[to]]
- ==
- ::
++ pass-session
|= [ses=@tas tas=session-task:dill]
[%pass /dill/[ses] %arvo %d %shot ses tas]
::
++ on-init
^- (quip card:agent:gall _this)
- :_ this
- :: ensure the tubes we use are in cache
- ::
- :~ (request-tube bowl %blit %json |)
- (request-tube bowl %json %belt |)
- (request-tube bowl %json %herm-task |)
- ==
+ [~ this]
::
++ on-save !>([%0 ~])
++ on-load
%+ turn p.sign-arvo
|= =blit:dill
[%give %fact [%session ses ~]~ %blit !>(blit)]
- ::
- :: ensure the tubes we need remain in cache
- ::
- [%tube @ @ ~]
- =* from i.t.wire
- =* to i.t.t.wire
- ?. ?=([%clay %writ *] sign-arvo)
- ~| [%unexpected-sign [- +<]:sign-arvo]
- !!
- :_ this
- [(request-tube bowl from to &)]~
==
::
++ on-poke
