micropython/py
Damien George 035906419d extmod/uos_dupterm: Use native C stream methods on dupterm object.
This patch changes dupterm to call the native C stream methods on the
connected stream objects, instead of calling the Python readinto/write
methods.  This is much more efficient for native stream objects like UART
and webrepl and doesn't require allocating a special dupterm array.

This change is a minor breaking change from the user's perspective because
dupterm no longer accepts pure user stream objects to duplicate on.  But
with the recent addition of uio.IOBase it is possible to still create such
classes just by inheriting from uio.IOBase, for example:

    import uio, uos

    class MyStream(uio.IOBase):
        def write(self, buf):
            # existing write implementation
        def readinto(self, buf):
            # existing readinto implementation

    uos.dupterm(MyStream())
2018-06-12 15:06:11 +10:00
..
argcheck.c
asmarm.c
asmarm.h
asmbase.c
asmbase.h
asmthumb.c
asmthumb.h
asmx64.c
asmx64.h
asmx86.c
asmx86.h
asmxtensa.c
asmxtensa.h
bc.c
bc.h
bc0.h
binary.c
binary.h
builtin.h
builtinevex.c
builtinhelp.c
builtinimport.c
compile.c py/emit: Combine setup with/except/finally into one emit function. 2018-05-23 00:35:16 +10:00
compile.h
emit.h py/emit: Combine setup with/except/finally into one emit function. 2018-05-23 00:35:16 +10:00
emitbc.c py/emit: Combine setup with/except/finally into one emit function. 2018-05-23 00:35:16 +10:00
emitcommon.c
emitglue.c
emitglue.h
emitinlinethumb.c
emitinlinextensa.c
emitnarm.c
emitnative.c py/emit: Combine setup with/except/finally into one emit function. 2018-05-23 00:35:16 +10:00
emitnthumb.c
emitnx64.c
emitnx86.c
emitnxtensa.c
formatfloat.c
formatfloat.h
frozenmod.c
frozenmod.h
gc.c py/gc: Add gc_sweep_all() function to run all remaining finalisers. 2018-06-12 11:55:29 +10:00
gc.h py/gc: Add gc_sweep_all() function to run all remaining finalisers. 2018-06-12 11:55:29 +10:00
grammar.h
lexer.c py/lexer: Add support for underscores in numeric literals. 2018-06-12 12:17:43 +10:00
lexer.h
makeqstrdata.py
makeqstrdefs.py
makeversionhdr.py
malloc.c
map.c
misc.h
mkenv.mk
mkrules.mk py/mkrules.mk: Regenerate all qstrs when config files change. 2018-06-12 13:53:43 +10:00
modarray.c
modbuiltins.c
modcmath.c
modcollections.c
modgc.c
modio.c py/modio: Add uio.IOBase class to allow to define user streams. 2018-06-12 12:29:26 +10:00
modmath.c
modmicropython.c
modstruct.c
modsys.c
modthread.c
moduerrno.c
mpconfig.h extmod/moduhashlib: Allow to disable the sha256 class. 2018-06-12 13:50:11 +10:00
mperrno.h
mphal.h
mpprint.c
mpprint.h
mpstate.c
mpstate.h extmod/uos_dupterm: Use native C stream methods on dupterm object. 2018-06-12 15:06:11 +10:00
mpthread.h
mpz.c
mpz.h
nativeglue.c py/emit: Merge build set/slice into existing build emit function. 2018-05-23 00:23:36 +10:00
nlr.c
nlr.h
nlrsetjmp.c
nlrthumb.c
nlrx64.c
nlrx86.c
nlrxtensa.c
obj.c
obj.h py/obj.h: Introduce a "flags" entry in mp_obj_type_t. 2018-06-08 11:48:25 +10:00
objarray.c
objarray.h
objattrtuple.c
objbool.c
objboundmeth.c
objcell.c
objclosure.c
objcomplex.c
objdeque.c
objdict.c
objenumerate.c
objexcept.c
objexcept.h
objfilter.c
objfloat.c
objfun.c
objfun.h
objgenerator.c
objgenerator.h
objgetitemiter.c
objint.c
objint.h
objint_longlong.c
objint_mpz.c
objlist.c
objlist.h
objmap.c
objmodule.c
objmodule.h
objnamedtuple.c
objnamedtuple.h
objnone.c
objobject.c
objpolyiter.c
objproperty.c
objrange.c
objreversed.c
objset.c
objsingleton.c
objslice.c
objstr.c
objstr.h
objstringio.c
objstringio.h
objstrunicode.c
objtuple.c
objtuple.h
objtype.c py/objtype: Optimise instance get/set/del by skipping special accessors. 2018-06-08 12:12:08 +10:00
objtype.h py/objtype: Don't expose mp_obj_instance_attr(). 2018-06-08 11:48:25 +10:00
objzip.c
opmethods.c
parse.c
parse.h
parsenum.c py/lexer: Add support for underscores in numeric literals. 2018-06-12 12:17:43 +10:00
parsenum.h
parsenumbase.c
parsenumbase.h
persistentcode.c
persistentcode.h
py.mk py/mkrules.mk: Regenerate all qstrs when config files change. 2018-06-12 13:53:43 +10:00
pystack.c
pystack.h
qstr.c
qstr.h
qstrdefs.h
reader.c py/reader: Allow MICROPY_VFS_POSIX to work with MICROPY_READER_POSIX. 2018-06-06 14:28:23 +10:00
reader.h
repl.c
repl.h
ringbuf.h
runtime.c extmod/uos_dupterm: Use native C stream methods on dupterm object. 2018-06-12 15:06:11 +10:00
runtime.h
runtime0.h py/emit: Merge build set/slice into existing build emit function. 2018-05-23 00:23:36 +10:00
runtime_utils.c
scheduler.c
scope.c
scope.h
sequence.c
showbc.c
smallint.c
smallint.h
stackctrl.c
stackctrl.h
stream.c
stream.h py/stream: Move definition of mp_stream_p_t from obj.h to stream.h. 2018-06-04 16:53:17 +10:00
unicode.c
unicode.h
vm.c py/objtype: Don't expose mp_obj_instance_attr(). 2018-06-08 11:48:25 +10:00
vmentrytable.h
vstr.c
warning.c