Hi Martin,
> On 17 Feb 2014, at 19:39, Martin Koller <[email protected]> wrote:
> 
> Hi,
> 
> had a quick look into the implementation as I wanted to use it in my existing 
> webserver.
> However, the API does not provide a way to use it for an _existing_ tcp 
> communication channel.
Do you mean a QTcpSocket?
> 
> What would be great is if you modify QWebSocketDataProcessor in some way so 
> that it just
> get's data from anywhere and therefore also make it a public class.
Well, it takes a QIODevice as data source, so that shouldn't be a problem (as 
you stated yourself).
As you probably know, there is a feature freeze for Qt 5.3; so changing the API 
is currently not a good idea.
Instead of making QWebSocketDataProcessor public, could you live with the (now 
private) upgradeFrom() method? This method is actually taking a QTcpSocket and 
'upgrades' it to a QWebSocket.
Do you process the handshake yourself? The dataprocessor only takes care of 
data after a successful handshake has been exchanged.
It is however a very interesting use case and should definitely be explored 
further.
Can you add a feature request in Jira?
> 
> I see it's currently reading from an QIODevice which should be ok, but what 
> is unfortunate
> is that QWebSocketFrame::readFrame(pIoDevice); blocks!
> 
> The problem is exactly what you already wrote as comment there:
>        case PS_WAIT_FOR_MORE_DATA:
>            //TODO: waitForReadyRead should really be changed
>            //now, when a websocket is used in a GUI thread
>            //the GUI will hang for at most 5 seconds
>            //maybe, a QStateMachine should be used
I know, I will finetune this when I start with stress tests. Expect this to be 
changed in an upcoming release.

Cheers,

Kurt
> 
> -- 
> Best regards/Schöne Grüße
> 
> Martin
> 
> A: Because it breaks the logical sequence of discussion
> Q: Why is top posting bad?
> 
> ()  ascii ribbon campaign - against html e-mail 
> /\                                   - against proprietary attachments
> 
> This mail was not scanned before sending.
> It was sent from a secure Linux desktop.
> _______________________________________________
> Development mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to