I would recommend using epoll in level triggered mode.   Edge triggered
mode is extremely unforgiving.  I've used epoll with openssl in level
triggered mode quite extensively and had success with it.




On Mon, Aug 11, 2014 at 8:12 AM, Harikrishnan R <
harikrish...@marketsimplified.com> wrote:

> I have a TLS Server and TLS Client which is running on the top of *Edge
> Triggered EPOLL* and *Non Blocking Sockets.*
>
>  Client and server is doing following operations
>
>    1. Client -> Connect to TLS Server. (SSL_CTX_new -> SSL_new ->
>    SSL_set_fd)
>    2. Client -> Set modes
>     (SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER, SSL_MODE_AUTO_RETRY)
>    3. Server -> Sends streaming data to the connected clients.
>    4. Client -> Read data whenever EPOLLIN occurs.
>    5. Server -> When it fails to send data (Client is slow to read),
>    stores data into local buffer and waits for EPOLLOUT to occur.
>    6. Server -> When EPOLLOUT occurs for particular socket it sends the
>    same data which was failed previously.
>
>
> Problem that I am seeing is even after the client is successfully reading
> all the data from Kernel Buffer, Event EPOLLOUT is not invoked in Server
> Side (In Server Buffered data is ready for writing to clients).
>
> EPOLLOUT is invoked only one time in Server side, when the SSL_WRITE fails
> for first time.
>
> Is there any specific way to handle SSL_READ and SSL_WRITE over Edge
> Triggered EPOLL ?
>
> I am very new to openssl. Please help.
>
> --
> Harikrishnan R
>
>
> Connect with Market Simplified on Linked-in
> <http://www.linkedin.com/company/market-simplified-inc> | Facebook
> <https://www.facebook.com/MarketSimplified> | Twitter
> <https://twitter.com/MarketGoMobile> | Google Plus
> <https://plus.google.com/114913942441116940871/> | Pinterest
> <http://pinterest.com/marketGoMobile/mobility-in-bfsi>
>
> ------------------------------------------------------------
> --------------------
> Confidentiality Statement:
>
> This message is intended only for the use of the Addressee and may contain 
> information
> that is PRIVILEDGED and CONFIDENTIAL:  If you are not the intended
> recipient, dissemination of this communication is prohibited.  If you
> have received this communication in error, please erase all copies of the
> message and its attachments and notify us immediately
>



-- 
*David Hinkle*

*Senior Software Developer*

*Phone:*  800.243.3729x3000

*Email:*  hin...@cipafilter.com

*Hours:*  Mon-Fri   8:00AM-5:00PM (CT)

Reply via email to