David Wilson
b22df44bf1
fakessh: fix shutdown ordering bugs.
7 years ago
David Wilson
9d17f5b625
Have slaves close their own CALL_FUNCTION channel on broker shutdown
...
Necessary when parent stream goes away -- nothing exists to wake up main
thread.
7 years ago
David Wilson
5d49281ede
Crash if start_transmit/start_receive used on closed side.
7 years ago
David Wilson
168498198c
fakessh: More (incomplete) work on graceful exit.
7 years ago
David Wilson
58a5af5be0
Fix SSH context naming.
7 years ago
David Wilson
6ddc40130d
Prevent keep_alive() crash when readers is empty.
7 years ago
David Wilson
e0400b174d
Rename _route -> _async_route, have Stream call it directly.
7 years ago
David Wilson
a1e080155b
Rename on_thread to defer.
7 years ago
David Wilson
569d157449
Remove special case for Waker construction
7 years ago
David Wilson
7634b4c31c
Add ProcessMonitor class
7 years ago
David Wilson
78392962cb
Copy context name to stream name if specified.
7 years ago
David Wilson
04bc582844
listen/fire fixes.
7 years ago
David Wilson
ca3fdc3fa9
Support *args in fire() too.
7 years ago
David Wilson
de91f9ef7a
Get rid of HMAC use.
7 years ago
David Wilson
299d4a2e05
Teach Router.add_handler() to kill a handler on context disconnect
...
When a context's Stream is disconnected, now any reply_to handlers
waiting for that specific context will be cancelled, rather than hanging
until all pending handelrs are cancelled during Broker is torn down.
This is groundwork for a bunch of things, including moving connect() to
the Broker thread
7 years ago
David Wilson
ffe86a882d
remove redundant conncetion registration
...
It's not needed any more sense Router always routes unknown IDs towards
the parent.
7 years ago
David Wilson
8e2d691d2d
Move issue lists into GitHub.
7 years ago
David Wilson
65d5844d1a
Tidy up docs.
7 years ago
David Wilson
616dc43069
fakessh: Initial working version
7 years ago
David Wilson
fe43180911
Fix crash
7 years ago
David Wilson
7467fc2b0b
Allow CALL_FUNCTION from non-master context.
...
Just ensure CALL_FUNCTION return value is sent back to src_id/reply_to
rather than 0/reply_to.
7 years ago
David Wilson
73c82415aa
Log the FD for I/O to avoid expose swaparoos
...
Wasted some time tracking down swapped stdin/stdout.
7 years ago
David Wilson
6bd8fda1d4
Route unknown context ID messages upstream
...
This propagates messages up the tree until they encounter a node that
knows how to forward them back downstream. As a consequence for invalid
context IDs, a 'no route' message will always be logged by the master.
7 years ago
David Wilson
93abc0aa92
fakessh: Split Channel into Sender and Receiver.
7 years ago
David Wilson
faf50585a4
Add econtext.parent_id constant too
7 years ago
David Wilson
fd5e962cb3
Handlers no longer depend on src_id
...
Now there is a single handle namespace in each context, indpendent of
the source of the message. Update module forwarder etc. to cope with
that.
This is to support slave contexts communicating without the master's
intercession.
7 years ago
David Wilson
ad182bc128
Default log level should be INFO
7 years ago
David Wilson
9ed7934994
Shorten slave context logger name.
7 years ago
David Wilson
c37a11fb99
Add Router.local() mostly for testing.
7 years ago
David Wilson
88eea78282
Kindof working graceful shutdown again.
7 years ago
David Wilson
9d356736ca
Reduce os.read/os.write cutpaste.
7 years ago
David Wilson
1f49d24cd6
fakessh: Make ExternalContext.main() more flexible
...
- Allow specifying non-default in/out FDs
- Allow not passing econtext.core source code FD
- Allow starting directly without a first stage
- Allow disabling stdio redirection
7 years ago
David Wilson
69737701f6
Remove debug junk.
7 years ago
David Wilson
174b3242fc
Support building Channels from existing handle, make .get() interruptible.
7 years ago
David Wilson
30d838edf9
Add econtext.master.Context.call_async().
7 years ago
David Wilson
6c33d251df
Reduce src_id/dst_id to 16 bits.
7 years ago
David Wilson
6a164adb22
Preserve sys.executable after first stage.
7 years ago
David Wilson
7a50fa724e
Defer stream naming until after connect, so PID can be included.
7 years ago
David Wilson
e2dbd3a44e
Update docstring.
7 years ago
David Wilson
4b2170dc81
Wire up ModuleForwarder; closes #3
7 years ago
David Wilson
e8b1ebc434
issue #3 : Teach core.py the difference between its parent context and the master context.
...
Needed to allow GET_MODULE calls to reach the parent rather than the
master, when they are not the same context.
7 years ago
David Wilson
c7b619a50a
It's safe for Waker.on_receive() to drain all bytes.
...
By the the time Waker.wake() writes to the pipe, any shared state that
would trigger action on the Broker thread has already been updated, so
reading subsequent bytes caused by later Waker.wake() can't miss
anything.
This avoids spewing tons of logs messages every time there is a storm of
user-generated log messages.
7 years ago
David Wilson
821c9dfcb6
Generalize ECONNRESET, EIO handling.
7 years ago
David Wilson
17c2fe68f2
Add Router.enable_debug() rather than cutpasting snippets constantly.
7 years ago
David Wilson
a76d871a70
issue #3 : Initial ModuleForwarder implementation.
...
Not wired up yet.
7 years ago
David Wilson
fcd3f42f9e
Quieten noisy logging
7 years ago
David Wilson
a87194a9b8
Uniformly call Context.on_disconnect(), not just for parent.
7 years ago
dmw
64f628d590
fix crash during on_shutdown
7 years ago
dmw
92a4a61f11
Generate context IDs like handles.
7 years ago
David Wilson
f9df857a57
Tidy up API.
7 years ago