Open
Description
At the moment, JSONTransport is fairly abstract to how its reading/writing.
To support both pipes (e.g. stdin) and sockets, we should update
to perform reads using the RunLoop.With that, we should also be able to read in larger chunks and use a buffer for tracking partial messages. At the moment, our Read
logic ends up reading 1 char at a time to try to find delimiters. This should improve the performance of reading for JSONTransport.