On Wed, Jun 25, 2014 at 3:15 AM, Henrik Nordström
<hen...@henriknordstrom.net> wrote:
>
> tis 2014-06-24 klockan 22:28 -0600 skrev Eduardo Silva:
>> hmm so if my socket is in an event loop and i get notifications,
>> besides to walk through my list of active channels, for each one
>> should i also walk for each stream_id ?, if so, how can i know the
>> number of streams that a channel is handling ?
>
>
> By the application you are running.
>
> port forwarding -> only the default stream.
>
> shell -> default stream + stream 1 (stderr).
>
>
> Should be safe to assume the server do not unexpectedly start using
> stream numbers you don't know about.
>

thanks for the feedback.

Just to confirm if my approach is correct:

1. i connect to the SSH server and request a tcp-forwarding
2. then in my program i have an epoll(7) loop looking for EPOLLIN (READ) events:
3. for each incoming event i do:
   3.a try to accept a channel, if it works create the channel and add
it to a list (and jump to 3.c)
   3.b if accept a channel failed, try to read for each channel
registered in my list
   3.c for those channels who succeeded on reading data, write back a
response, then close the channel (channel cleanup)

but for some reason i see some missing channels notifications when
adding a simple concurrency of 2 clients. Should i use a different
mechanism to multiplex events on different channels ?, is there
something wrong with the proposed model ?

any help is appreciated


-- 
Eduardo Silva
http://edsiper.linuxchile.cl
http://monkey-project.com

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to