Commit Graph

38 Commits

Author SHA1 Message Date
R. Tyler Croy 1d94bae327
Add the Epoll interface 2019-01-06 11:15:14 -08:00
R. Tyler Croy 655a6fa4e7
New scaffolding for async-ada 2019-01-06 09:05:19 -08:00
R. Tyler Croy 2cd3882001
Nuke the old tree entirely.
This was so long ago (almost 8 years!) that I cannot honestly remember where I
was going from a design standpoint.

I'm smarter now, so it should go better this time around
2019-01-06 08:59:17 -08:00
R. Tyler Croy f03f3add17 Expand the Echo_State record, use aggregates for composing the appropriate records 2011-02-19 13:43:07 -08:00
R. Tyler Croy c7b29868f1 Separate the accept block in the echo callback 2011-02-19 13:42:08 -08:00
R. Tyler Croy 147a5b6297 Disable tests/ temporarily 2011-02-19 13:41:20 -08:00
R. Tyler Croy 0ab4fef37e Convert the Async.Epoll package to a generic package so I can easily deal with the Context_Type for callbacks 2011-02-19 12:36:30 -08:00
R. Tyler Croy 6dd93c3118 I'm confused as to how this should /actually/ be set up
echoserver.adb:47:24: expected type "Context_Type" defined at async-epoll.ads:15
echoserver.adb:47:24: found type "Echo_State" defined at echo.ads:5
2011-02-18 21:40:17 -08:00
R. Tyler Croy 29d112af8d Add more tracing to the runloop, fix a Constraint_Error when overstepping the number of events 2011-02-18 21:15:27 -08:00
R. Tyler Croy 09345b97d5 Move our internal Callback_Registry away from a Vectors.Vector to a Hashed_Maps.Map
My previous assumptions about using a Vector as a sparse array turned
out to be incorrect. Whoopsies.
2011-02-18 19:04:14 -08:00
R. Tyler Croy 87945ca59c Add some simple tracing to help figure out the Constraint_Error in the echoserver 2011-02-17 23:04:57 -08:00
R. Tyler Croy 59716b5ba8 Convert the Callback_Tuple to hold a Socket_Type to be passed back into the callback
You can apparently use To_C (Sock) to get a C.int file descriptor, but
you can't turn that back into a Socket_Type. Rats.
2011-02-17 23:03:40 -08:00
R. Tyler Croy ade4bb22d8 Update epoll_data test namespace 2011-02-17 23:00:28 -08:00
R. Tyler Croy 8fac9b2f9e Add initial bits for an epoll-based echoserver test scenario 2011-02-17 22:59:25 -08:00
R. Tyler Croy 59a8f0433a Rename the package to Async.Epoll 2011-02-15 20:49:22 -08:00
R. Tyler Croy 40f3256188 Implement calling our callbacks. There's no chance this actually works. 2011-02-14 22:10:54 -08:00
R. Tyler Croy 62a7ecf6d8 Add the Callback_Tuple record for carrying the necessary information to execute a callback 2011-02-14 21:21:32 -08:00
R. Tyler Croy d1b0f32979 Play around with building different 'modes' with gprbuild 2011-02-14 20:30:14 -08:00
R. Tyler Croy 79973ae9a3 Minor tweak to package inclusion style, I likes commas 2011-02-13 16:28:23 -08:00
R. Tyler Croy 5a4490c9c4 Rename the main project gpr file to async.gpr now that I've scope-creeped my own project >_>
Why couldn't I just be satisfied with epoll(7)
2011-02-13 16:28:06 -08:00
R. Tyler Croy 930f41a716 README update now that the project is named async-ada 2011-02-13 14:12:53 -08:00
R. Tyler Croy 606c2fe20b More progress on the Run loop, as in, we're not looping
Need to figure out a way to structure the callbacks such that
consumers can determine whether or not they need to read data, or "accept"
a socket and register the new socket with the hub.

Oof
2011-02-13 12:12:00 -08:00
R. Tyler Croy 0578c9e16a Clean up root Makefile, add 'test' target 2011-02-13 12:11:48 -08:00
R. Tyler Croy cb33969847 Add simple Debug_Trace code for printing statements while debugging 2011-02-13 12:11:22 -08:00
R. Tyler Croy 32fff8bf41 Test epoll_data_t with a uint64_t 2011-02-12 13:58:42 -08:00
R. Tyler Croy 39d736735a Add an epoll_data_t test for the u32 member 2011-02-12 13:29:43 -08:00
R. Tyler Croy d4a9b19359 Store Descriptors as `Natural` data types, since Interface.C.int will raise a Constraint_Error
I believe it's a valid assumption to say all file descriptors should be positive, non-zero integers
2011-02-12 13:29:43 -08:00
R. Tyler Croy 354a63c937 Add some test scaffolding for verifying my assumptions while interfacing with C 2011-02-12 13:29:40 -08:00
R. Tyler Croy 21dda16b30 Tinkering around with the runloop, programming is hard. 2011-02-12 12:21:53 -08:00
R. Tyler Croy 966cb4feab Implement Register, which will handle adding descriptors and callbacks to the hub 2011-02-12 12:20:25 -08:00
R. Tyler Croy 62614d9424 Bring more constants over from <sys/epoll.h> 2011-02-06 09:45:54 -08:00
R. Tyler Croy 8e52a88eb6 Start fleshing out the actual Epoll package interface 2011-02-05 13:01:10 -08:00
R. Tyler Croy 279dfdce12 Remove built experiment file 2011-02-05 13:00:55 -08:00
R. Tyler Croy 9495536c63 Add an experiment to verify the binding of epoll_create(2) 2011-02-03 18:18:59 -08:00
R. Tyler Croy 96417981f6 Start to flesh out some bindings to epoll(7) 2011-02-03 18:18:26 -08:00
R. Tyler Croy f03eeabd72 Add empty package spec 2011-02-02 09:38:14 -08:00
R. Tyler Croy 2eda10db36 Add a simple build system 2011-02-02 09:38:12 -08:00
R. Tyler Croy 48c4f5d77b Initial commit 2011-02-02 09:33:09 -08:00