Current bufferevent API provides for only socket related ones and an intermediate one for data transformation. The older API however had a generic version of bufferevent that accepted any type of FD. Also if bufferevent_socket_new() is meant to be used as the generic bufferevent for all kinds of file descriptors then why is it named "socket" then? Also why does it restrict the use of file-descriptors obtained from pipe(2), how is the naming and semantics intuitive?
What I have is stdin-stdout (can be any type of course) and a socket with which I want to perform full-duplex non-blocking IO with libevent. I can see no way but to either use the "deprecated" API or use the low level interface with evbuffers. Any guidance on this?