-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path_notes.txt
93 lines (73 loc) · 3.87 KB
/
_notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
MAILBOXES (iRMX 86™ NUCLEUS REFERENCE MANUAL)
A mailbox is one of two types of objects that can be used for intertask
communication. When task A wants to send an object to task B, task A
must send the object to the mailbox, and task B must visit the mailbox,
where, if an object isn't there, it has the option of waiting for any
desired length of time. Sending an object in this manner can achieve
various purposes. The object might be a segment that contains data
needed by the waiting task. On the other hand, the segment might be
blank, and sending it might constitute a signal to the waiting task.
Another reason to send an object might be to point out the object to the
receiving task.
http://bitsavers.informatik.uni-stuttgart.de/pdf/intel/iRMX/iRMX_86_Rev_3_May_1981/9803122-03_iRMX_86_Nucleus_Reference_May81.pdf
Actors model
https://en.wikipedia.org/wiki/Actor_model
https://www.brianstorti.com/the-actor-model/
https://actoromicon.rs/ch03-00-actors.html#a-mailbox
https://actoromicon.rs/assets/mailbox.drawio.svg
https://medium.com/@KtheAgent/actor-model-in-nutshell-d13c0f81c8c7
https://stately.ai/docs/actor-model
https://doc.akka.io/docs/akka/current/typed/guide/actors-intro.html
https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-the-Actor-Model-works-by-example
https://github.com/huan/mailbox
Awesome Zig
https://github.com/zigcc/awesome-zig
https://github.com/C-BJ/awesome-zig
CI
https://github.com/kubkon/zig-yaml/blob/main/.github/workflows/ci.yml
https://github.com/mattnite/gyro/blob/master/.github/workflows/linux.yml
https://github.com/frmdstryr/zhp/blob/master/.github/workflows/ci.yml
https://github.com/mitchellh/libxev/blob/main/.github/workflows/test.yml
Zig actors
https://www.reddit.com/r/Zig/comments/1c031al/creating_an_actor_system_in_zig/
https://github.com/hardliner66/abps/
https://github.com/winksaville/zig-actor-model
Rust actors
https://actoromicon.rs/ch01-00-introduction.html
https://github.com/elfo-rs/elfo
https://actix.rs/docs/actix/actor
https://www.bastion-rs.com/
C actors
https://github.com/FedeDP/libmodule
Queue
https://github.com/ziglang/zig/blob/master/lib/std/linked_list.zig
https://github.com/ziglang/zig/blob/master/lib/std/Thread/Semaphore.zig
https://codeberg.org/zig-multimedia/spsc-queue
http://ratfactor.com/zig/stdlib-browseable2/atomic/queue.zig.html
https://www.openmymind.net/Writing-a-Task-Scheduler-in-Zig/
https://github.com/fr233/LinkedBlockingQueue.zig/blob/main/LinkedBlockingQueue.zig
An intrusive queue:
https://github.com/mitchellh/libxev/blob/main/src/queue.zig
std: remove atomic.Queue
https://github.com/ziglang/zig/pull/18085/commits/edb2f72988cd180c5d87b03481fa1c20b3325968
Example of project
https://github.com/riverwm/river
Zig Common Tasks
https://renatoathaydes.github.io/zig-common-tasks/
"Interfaces"
https://zig.news/yglcode/code-study-interface-idiomspatterns-in-zig-standard-libraries-4lkj
https://zig.news/kilianvounckx/zig-interfaces-for-the-uninitiated-an-update-4gf1
https://zig.news/kristoff/easy-interfaces-with-zig-0100-2hc5
https://zig.news/akhildevelops/learning-interfaces-by-implementing-iterator-in-zig-3do1
https://ethanfrei.com/posts/zig-interfaces.html
https://github.com/alexnask/interface.zig
https://www.youtube.com/watch?v=AHc4x1uXBQE
https://revivalizer.xyz/post/the-missing-zig-polymorphism-reference/
https://github.com/mitchellh/libxev/blob/main/src/queue.zig
Functions
https://gencmurat.com/en/posts/mastering-functions-in-zig/
Install
Add dependency to build.zig.zon:
zig fetch --save-exact https://github.com/g41797/mailbox/archive/master.tar.gz
build.zig:
exe.addModule("mailbox", b.dependency("mailbox", .{}).module("mailbox"));