David Wilson
ec056042e0
core: more Poller docstrings.
6 years ago
David Wilson
d286eeb2ea
core: more Poller docs
6 years ago
David Wilson
5f5396bcb2
core: more poller doc
6 years ago
David Wilson
499e7273d1
core: poller tidyups and minify fix
6 years ago
David Wilson
3f5774cfd5
core: document/tidy up poller.
...
Remove duplicate attribute creates in subclasses too.
6 years ago
David Wilson
a156d7aab3
core: move importer inline data out to class vars.
6 years ago
David Wilson
824c7931a9
core: improve importer exception messages.
6 years ago
David Wilson
1eb08fb5c5
core: docstring tidyups
6 years ago
David Wilson
81a68223d4
issue #456 : exception text typo.
6 years ago
David Wilson
497234e782
issue #456 : core: raise error during defer() if Broker shutdown
6 years ago
David Wilson
917a1ffb29
issue #453 : prevent accidental child logging loop.
6 years ago
David Wilson
9680a84824
core: rename Router.self() to Router.myself().
6 years ago
David Wilson
8f85ee038e
core: Add Router.self()
...
Returns a reference to the current context.
6 years ago
David Wilson
300cb41e2e
core: detect stream corruption. Closes #438 .
6 years ago
David Wilson
c2c7caa34f
core: ignore DeprecationWarning for imp module.
...
Closes #399 , #437 .
6 years ago
David Wilson
57504ba6ec
issue #109 : core: meta_path regression in newer Pythons
...
Python at some point (at least since https://bugs.python.org/issue14605 )
began populating sys.meta_path with its internal importer classes,
meaning that interpreters no longer start with an empty sys.meta_path.
6 years ago
David Wilson
65d9eec353
issue #364 : core: have Sender.close() supply reason= to dead()
6 years ago
David Wilson
01c4f3fee1
core: rearrange stdio setup to cope with buffering; closes #422
6 years ago
David Wilson
c7931be524
issue #420 : core: include PID in Latch cookie data.
6 years ago
David Wilson
6e1f9e2596
core: 2.6 str.decode() compat fix.
6 years ago
David Wilson
76ec4f201c
issue #413 : paper over harmless duplicate del_route()
...
Ideally it would only be called once, and in future maybe it can, but
right now we need to cope with these cases:
* Downstream parent notifies us of disconnection (DEL_ROUTE)
* We notify ourself of disconnection
* We notify ourself and so does downstream parent
It's case 3 that causes the error.
6 years ago
David Wilson
cf97932fad
core: dead messages have optional body, use it everywhere; closes #387 .
6 years ago
David Wilson
c09780aeb0
core: fix add_handler(respondent=..) memory leak
...
Closes #416 .
6 years ago
David Wilson
10af266678
issue #406 : attempt Broker cleanup in case of a crash.
6 years ago
David Wilson
d1c2e7a834
issue #406 : call Poller.close() during broker shutdown.
6 years ago
David Wilson
e4280dc14a
core: Don't crash in Waker.__repr__ if partially initialized.
6 years ago
David Wilson
87e8c45f76
core: fix minify_test regression introduced in 804bacdadb
...
The minifier can't handle empty function bodies, so the pass statements
are necessary.
6 years ago
David Wilson
16c364910a
core: avoid redundant write() calls in Waker.defer()
...
Using _lock we can know for certain whether the Broker has received a
wakeup byte yet. If it has, we can skip the wasted system call.
Now on_receive() can exactly read the single byte that can possibly
exist (modulo FD sharing bugs -- this could be improved on later)
6 years ago
David Wilson
804bacdadb
docs: move most remaining docstrings back into *.py; closes #388
...
The remaining ones are decorators which don't seem to have an autodoc
equivlent.
6 years ago
David Wilson
711aed7a4c
core: split _broker_shutdown() out into its own function.
...
Makes _broker_main() logic much clearer.
6 years ago
David Wilson
1d32ed3b5a
core: avoid shutdown() in IoLogger on WSL; closes #333 .
6 years ago
David Wilson
5be9a55bf4
core: allow Context to be pickled by non-Mitogen pickler.
6 years ago
David Wilson
a7ee23719a
issue #388 : move a ton of documentation back into the source
6 years ago
David Wilson
73cda2994f
issue #333 : add versioning, initial batch of poller tests
...
Now poller is start enough to know a start_receive() during an iteration
does not cause events yielded by that iteration to associate with the
wrong descriptor.
These changes are tangentially related to the associated ticket, but
event versioning is still the underlying issue.
6 years ago
David Wilson
1cbff1011e
core: send dead message if max message size exceeded; closes #405
6 years ago
David Wilson
9ec360c26d
core: split out & extend Broker.sync_call()
6 years ago
David Wilson
58d0a45738
issue #76 : quieten routing errors.
...
Receiving DEL_ROUTE without a corresponding ADD_ROUTE is now legit
behaviour, so don't print an error in this case.
Don't print an error for dropped messages if the reply_to indicates the
sender doesn't care about a response (dead and no_reply)
6 years ago
David Wilson
b9bafb78af
issue #76 : add stub DEL_ROUTE handler to core.py.
...
This handler knows how to fire 'disconnect' event on reception of a
DEL_ROUTE, and nothing more.
6 years ago
David Wilson
babe3eec31
issue #76 : record egress context IDs
...
Used in a subsequent change to broadcast DEL_ROUTE to potentially
interested children.
6 years ago
David Wilson
d7d40f1123
issue #76 : reduce Context duplication during unpickling
...
When unpickling a context, arrange for there to be a single instance
representing that context, managed by the corresponding router. This
context_by_id() was already in use by parent.py, it just needs to move
down.
This to eventually reach the point where a single Context exists that
needs 'disconnect' fired on it, so all sleeping receivers are definitely
woken.
6 years ago
David Wilson
a7b1831ddf
core: move IS_DEAD doc into core.py.
6 years ago
Alex Willmer
6da31c9dee
docs: Remove unneeded backslash escapes
...
Python 3.x was emitting a DeprecationWarning. AFAICT there has been no
impact on the HTML rendering.
6 years ago
Yannig Perré
6828926a36
Kubernetes connection support for mitogen.
6 years ago
David Wilson
294f17e491
core: fix econtext on_start parameter, used by fork_test.
6 years ago
David Wilson
4d3873c784
core: call chains v3: abstract it into a new CallChain class.
6 years ago
David Wilson
a3957d6aaf
parent: add Context.forget_chain().
6 years ago
David Wilson
37223adacd
core: fix Dispatcher race introduced in 3a7815e5ca6255272334415916b6289378173859
...
It must be constructed before are messages pumped.
6 years ago
David Wilson
42b1b3d286
core: support mitogen_chain dispatcher option.
6 years ago
David Wilson
92c092d27b
core: split Dispatcher out into own class.
6 years ago
David Wilson
ba0b3af205
core: remove accidentally checked in debug crap ( #337 )
6 years ago