You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Steve Huston (JIRA)" <qp...@incubator.apache.org> on 2009/03/20 23:46:50 UTC

[jira] Updated: (QPID-1765) C++ unit tests won't run on Windows

     [ https://issues.apache.org/jira/browse/QPID-1765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1765:
-------------------------------

    Attachment: SocketProxy.h.diff

Proposed alternate way to handle SocketProxy.

This uses low-level socket stuff, and requires a platform-specific include and typedef. I have my asbestos suit on, so fire away ;-)

> C++ unit tests won't run on Windows
> -----------------------------------
>
>                 Key: QPID-1765
>                 URL: https://issues.apache.org/jira/browse/QPID-1765
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: 0.5
>         Environment: Windows, Visual Studio 2008
>            Reporter: Steve Huston
>         Attachments: SocketProxy.h.diff
>
>
> The C++ unit_tests test suite won't run correctly on Windows. The main issue is that the SocketProxy class, used as a relay between client and broker that can be programmed to drop data or close a connection at an inopportune time, uses the Poller class in a way that's incompatible with the Windows IocpPoller.
> The Poller class is used to react to events on the sockets being used, but the SocketProxy class then expects to perform the needed send/recv operations directly on the Socket classes. However, the Windows Poller class reacts to I/O completions, not possibilities, so it's not compatible with the approach taken by SocketProxy.
> I tried replacing this with AsynchIO use... too messy and leaky.
> I have an approach working that uses select() instead of the Poller. It's portable, even if a bit trickier to use correctly than Poller. Patch forthcoming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org