first non-sucking version of rocksock_peek()
commitaefa10434ef9ddcecbf6fd2e9f49fb5645c208bf
authorrofl0r <retnyg@gmx.net>
Tue, 17 Dec 2013 16:46:32 +0000 (17 17:46 +0100)
committerrofl0r <retnyg@gmx.net>
Tue, 17 Dec 2013 16:50:17 +0000 (17 17:50 +0100)
treebd777736a20090b10b748d628a11a3df65cc33e8
parentcef731365a3f32c12bdd1251812a36019df423b5
first non-sucking version of rocksock_peek()

the return value now behaves the same way as the other functions.
the actual peek result is written into a user-supplied int pointer.
unfortunately, the ssl implementation does not support anything else
than "error" or "peek: data available" (the third state
"peek: no data available" is missing).
that's because SSL_peek() reserves the return value 0 for a disconnect
situation, for which we have to return a read event notification so
that a subsequent call to rocksock_recv with 0 bytes read can give
the usual indication of a disconnect.
positive return values mean that there's data in the buffer to receive,
which also means that it's blocking.
rocksock.h
rocksock_peek.c
rocksock_ssl.c
rocksock_ssl_internal.h