[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: brain dump

Hi Andreas,

What gmoonen describes is not possible because each channel has a window size, which is updated on user read (channel_read) and not just channel_poll. So, this behaviour is localy possible (on small sizes) but does not expand to megabytes of data.



Andreas Schneider a écrit :
[17:18:53] <gmoonen> Owe and one more small issue i found in ssh_handle_packets() if you have a slow computer (or select for detection of data) and a fast network you can get a almost inf loop when doing a command which receives alot of data (like cat /dev/zero) [17:19:12] <gmoonen> bacause everytime a packet has been processed there is already data available on the network socket. [17:21:12] <gmoonen> Event I see at my local code: poll says bytes available, packet_read reads it, packet_translate translates it, and session_parse does it's work, and the poll function already sees more data again [17:21:31] <gmoonen> Command i'm using is "while true; do echo 'xxxxxxx'; done;" [17:21:56] <gmoonen> I tell because the enter (\n) seems to split op the different packets which are available [17:22:24] <gmoonen> Every poll there is 8 or 16 bytes available (for data, those xxxxxxx) [17:22:41] <gmoonen> (There is more available, but that is the result data size)

Re: brain dumpMikhail Kulinich <tysonite@xxxxxxxxx>
brain dumpAndreas Schneider <mail@xxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org