Calvin Rose 
							
						 
					 
					
						
						
							
						
						8951b8de7a 
					 
					
						
						
							
							Inherit the supervisor channel from the root fiber if not given.  
						
						
						
						
					 
					
						2021-01-08 16:32:23 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						4355420994 
					 
					
						
						
							
							Remove function eachy.  
						
						... 
						
						
						
						Instead use `each`. 
						
						
					 
					
						2021-01-03 16:19:23 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c357af02c2 
					 
					
						
						
							
							Allow iterating over fibers with each and similar.  
						
						
						
						
					 
					
						2021-01-03 16:17:36 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						0a1c93b869 
					 
					
						
						
							
							Add ev api for making threaded calls.  
						
						... 
						
						
						
						Easy way to make arbitrary functions in C async. 
						
						
					 
					
						2020-12-31 16:12:42 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						788f91a36f 
					 
					
						
						
							
							Remove unneeded book keeping for sub processes.  
						
						... 
						
						
						
						Since we are not using signals we no longer need some bookkeeping. 
						
						
					 
					
						2020-12-31 11:52:12 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						d6391f2d70 
					 
					
						
						
							
							Get windows IOCP working for accept.  
						
						... 
						
						
						
						This also changes the api of servers slightly -
in light of having support for ev tasks, it is probably better
to remove the "simple" server code and replace it with some Janet
or remove it all together. While convenient, it has issues with error
handling and rigidity. 
						
						
					 
					
						2020-11-08 18:56:13 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						07910272e2 
					 
					
						
						
							
							Get socket reads and writes working with IOCP.  
						
						
						
						
					 
					
						2020-11-08 10:38:28 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1092013c2b 
					 
					
						
						
							
							Merge branch 'master' into ev  
						
						
						
						
					 
					
						2020-11-07 14:36:25 -06:00 
						 
				 
			
				
					
						
							
							
								Josef Pospíšil 
							
						 
					 
					
						
						
							
						
						9d41243c15 
					 
					
						
						
							
							Fix comments formating  
						
						
						
						
					 
					
						2020-11-04 10:18:31 +01:00 
						 
				 
			
				
					
						
							
							
								Josef Pospíšil 
							
						 
					 
					
						
						
							
						
						e33e182eb0 
					 
					
						
						
							
							Fix assembly example  
						
						
						
						
					 
					
						2020-11-04 10:16:02 +01:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						4d21b582c7 
					 
					
						
						
							
							Improve reading and writing from streams.  
						
						... 
						
						
						
						Handle errors earlier, and allow 0 length packets from UDP
but not from TCP. This should more closely follow the exact specs
of send and recv calls. 
						
						
					 
					
						2020-11-02 09:06:31 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						813e3fdcfd 
					 
					
						
						
							
							Merge branch 'windows-ev' into ev  
						
						
						
						
					 
					
						2020-10-11 09:32:17 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						bbe10e4938 
					 
					
						
						
							
							Add another select example.  
						
						
						
						
					 
					
						2020-10-11 09:14:31 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						cb4903fa86 
					 
					
						
						
							
							Overhaul of poll loop, redo ev/select.  
						
						
						
						
					 
					
						2020-10-11 09:14:14 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						964a800d51 
					 
					
						
						
							
							More work on windows event loop code.  
						
						
						
						
					 
					
						2020-10-06 19:07:29 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						db67538311 
					 
					
						
						
							
							Work on getting ev support on windows.  
						
						
						
						
					 
					
						2020-10-04 12:46:15 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						30522bbf7d 
					 
					
						
						
							
							Merge branch 'master' into ev  
						
						
						
						
					 
					
						2020-08-16 17:52:36 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						fb26c9b2c4 
					 
					
						
						
							
							Add ev/select and ev/rselect initial implementation.  
						
						... 
						
						
						
						Getting closer to a CSP implmententation. Probably
useful to move scheduling fields outside of fibers
and into an external table. 
						
						
					 
					
						2020-08-09 00:20:27 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						297de01d95 
					 
					
						
						
							
							Add preliminary channel implementation.  
						
						
						
						
					 
					
						2020-08-01 13:13:58 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						553b4d9428 
					 
					
						
						
							
							Add timeouts to net functions.  
						
						... 
						
						
						
						Further debugging of the general timeout system, as well
as having a single fiber wait on multiple state machines (select). 
						
						
					 
					
						2020-07-19 19:41:12 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						cd197e8be3 
					 
					
						
						
							
							Add ev/call.  
						
						... 
						
						
						
						This is a common operation, and making fibers manually can be tedious. 
						
						
					 
					
						2020-07-06 19:13:32 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						9ba94d2c6b 
					 
					
						
						
							
							More work on timeouts and racing listeners.  
						
						... 
						
						
						
						When two listeners are racing to resume the same fiber, the
first should cancel out the other. 
						
						
					 
					
						2020-07-05 17:26:17 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6d096551f0 
					 
					
						
						
							
							Add Peg combinators 'to' and 'thru'.  
						
						... 
						
						
						
						Inpsired by the REBOL operators of the same name, these
combinators match bytes up to or inculding a given pattern.
(to patt) is (almost) equalivalent to (any (if-not patt 1)), and
(thru patt) is equivalent to (* (to patt) patt). The one difference
is that if the end of the input is reached and patt is not
matched, the entire pattern does not match. 
						
						
					 
					
						2020-06-10 21:18:50 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						ec0d0ba368 
					 
					
						
						
							
							Initial UDP implementation.  
						
						
						
						
					 
					
						2020-06-02 19:47:50 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						3f434f2a44 
					 
					
						
						
							
							Add backpressure capability to net.  
						
						
						
						
					 
					
						2020-05-31 15:46:01 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						4c211c8dce 
					 
					
						
						
							
							More updates to the ev library.  
						
						
						
						
					 
					
						2020-05-28 16:51:11 -05:00 
						 
				 
			
				
					
						
							
							
								Leaf Garland 
							
						 
					 
					
						
						
							
						
						6909d9c9c9 
					 
					
						
						
							
							Fix c code for latest Janet  
						
						
						
						
					 
					
						2020-05-24 21:30:23 +12:00 
						 
				 
			
				
					
						
							
							
								Leaf Garland 
							
						 
					 
					
						
						
							
						
						0d5d820f4f 
					 
					
						
						
							
							Remove cook code  
						
						
						
						
					 
					
						2020-05-24 21:29:20 +12:00 
						 
				 
			
				
					
						
							
							
								Leaf Garland 
							
						 
					 
					
						
						
							
						
						6fbca3416a 
					 
					
						
						
							
							Move tests to tests dir  
						
						
						
						
					 
					
						2020-05-24 21:28:16 +12:00 
						 
				 
			
				
					
						
							
							
								Leaf Garland 
							
						 
					 
					
						
						
							
						
						466d9b31ce 
					 
					
						
						
							
							Add project.janet for numarray  
						
						
						
						
					 
					
						2020-05-24 21:25:52 +12:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						596111c988 
					 
					
						
						
							
							Merge branch 'master' into net  
						
						
						
						
					 
					
						2020-04-17 15:08:26 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e1f4cadf41 
					 
					
						
						
							
							Add debugger to the core repl.  
						
						... 
						
						
						
						Debugger functions are prefixed by periods. 
						
						
					 
					
						2020-04-10 17:20:23 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f4a46ba6ea 
					 
					
						
						
							
							Add methods to streams.  
						
						... 
						
						
						
						This makes streams polymorphic with files in many cases.
printf family functions still need porting. 
						
						
					 
					
						2020-02-12 09:32:41 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f4d7fd97f6 
					 
					
						
						
							
							Working TCP echo server and client.  
						
						... 
						
						
						
						Required a few changes to APIs, namely janet_root_fiber()
to get topmost fiber that is active in the current scheduler.
This is distinct from janet_current_fiber(), which gets the bottom
most fiber in the fiber stack - it might have a parent, and so cannot
be reliably resumed.
This is the kind of situation that makes symmetric coroutines more
attractive. 
						
						
					 
					
						2020-02-09 20:00:50 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6a39c4b91d 
					 
					
						
						
							
							Pass thread body explicitly in thread/new.  
						
						... 
						
						
						
						Doing it via thread/send make sense, but is a bit
strange. Passing the body explicitly will make more
sense to API users. 
						
						
					 
					
						2019-12-18 15:07:46 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						8cc43ad2d1 
					 
					
						
						
							
							Fix debugger example.  
						
						
						
						
					 
					
						2019-12-17 23:06:41 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						eb1c21b0da 
					 
					
						
						
							
							Fix some example issue and warnings under -Os.  
						
						
						
						
					 
					
						2019-12-08 12:40:05 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						131733549d 
					 
					
						
						
							
							Get mailbox API working.  
						
						
						
						
					 
					
						2019-12-07 16:51:00 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						0e690b4fa0 
					 
					
						
						
							
							Add timeout to thread/receive.  
						
						... 
						
						
						
						If provided, throws an error if no message is received before
timeout. Perhaps should return nil?. 
						
						
					 
					
						2019-12-06 09:21:36 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c804ae9f7c 
					 
					
						
						
							
							Update threads.c to avoid a deadlock.  
						
						
						
						
					 
					
						2019-12-06 01:46:23 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e908029392 
					 
					
						
						
							
							Work on thread/receive doubling as select.  
						
						
						
						
					 
					
						2019-12-04 22:31:01 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						de6c3d6d70 
					 
					
						
						
							
							Simplify structure JanetThread and JanetChannel.  
						
						... 
						
						
						
						Remove JanetThreadShared. 
						
						
					 
					
						2019-12-04 21:04:43 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						474bcd50a1 
					 
					
						
						
							
							Add methods to threads.  
						
						
						
						
					 
					
						2019-12-02 04:39:13 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						212479188a 
					 
					
						
						
							
							Have separate encode and decode dicts for threads  
						
						... 
						
						
						
						This is more correct and mirrors the way marshal -> unmarshal works. 
						
						
					 
					
						2019-12-01 21:53:39 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						8f31a53276 
					 
					
						
						
							
							Add thread example.  
						
						... 
						
						
						
						Also remove reference to pthread_t in the JanetThread structure. 
						
						
					 
					
						2019-12-01 20:47:22 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						7df0ec6aed 
					 
					
						
						
							
							Fix up debug/step and janet_step.  
						
						... 
						
						
						
						Also allow debugging on all signals, including errors.
This is gated behind (setdyn :debug true) in the repl. 
						
						
					 
					
						2019-11-25 20:00:13 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a0a980e0ef 
					 
					
						
						
							
							Update sample debugger.  
						
						... 
						
						
						
						Add .break and .step. 
						
						
					 
					
						2019-11-25 18:21:53 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6988fd3cab 
					 
					
						
						
							
							Add debug/step to single step a fiber.  
						
						... 
						
						
						
						Very useful for implementing debuggers. 
						
						
					 
					
						2019-11-25 18:14:34 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						d37c43716a 
					 
					
						
						
							
							Lots of work on improving debugging.  
						
						... 
						
						
						
						doc macro can take no arguments and print out
all bindings. Fix an issues with the vm skipping
over a breakpoint in some situations.
Add examples/debugger.janet for proof of concept
debugger. 
						
						
					 
					
						2019-11-24 17:45:53 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						02fc4ae27b 
					 
					
						
						
							
							Allow seeding RNG with a byte sequence.  
						
						
						
						
					 
					
						2019-11-21 22:53:39 -06:00