No smb_raw_search_next in smb_cliraw.h

Stef Bon stefbon at gmail.com
Tue Jul 1 14:14:44 MDT 2014


Yes thank you for the info.

Yes I'm using libnfs by Ronnie Sahlberg.

I understand the send - done - recv construction.
But how does the receiving work?

So far asynchronous io was for me one eventloop, which watches the fd
to the remote server (using epoll for example). Then when data is
available for reading, it reads the message (or a first part, a
header) enough to determine the kind of message. When it finds a
message id or something, it maps it to the requests (in a queue)
waiting for a reply. When the right request is found, it gets a thread
(from a pool) to process the reply.

Now I understand that the tevent library works different. As far as I
can see for every request send it watches the fd for a result. It's
"peeking" at the data when there is available at the fd, and checks
it's the reply it's waiting for. When it is, it's reading the whole
reply, and process that futher. It's possible to poll one fd with more
than one epoll/poll/select instance.

Is my analysis correct?

Stef


More information about the samba-technical mailing list