Re: Shared memory and IOCP



BTW: you wouldn't need a window either - PostThreadMessage works well

"Anton Bassov" <AntonBassov@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:B78D6046-F291-4325-85F7-15609F5791F5@xxxxxxxxxxxxxxxx
Well, I think we speak about two completely separate domains. :-)

Not necessarily - it depends on how you want to do things.....

WM_COPYDATA is a convinient mechanism for passing simple
messages between windows apps. I need a high throughput local
communication layer for bulk transfers close to the peak performance
of the memory subsystem.


From the very beginning it was obvious that yoy are looking for some
possibility of asynch communication, and windows messages is really easy
way
to achieve what you want. After all, you don't really need to pass the
actual
data with this message, do you??? You can use it simply for notification -
when process X receives this message, it has to respond to it by
reading( or
writing) memory of the process Y.
Once WM_COPYDATA message allows you to pass some data along, you can pass
the ID of process Y plus the address of the buffer (as it is known to the
process Y) to the recepient process X with this message. At this point
process X will
read/write data from/to the buffer with ReadProcessMemory() /
WriteProcessMemory(), and that's it....

Not to mention that my programs do not
even have GUI to interpret the WM_ messages, they are big
completion port-based, fully asynchronous multithreaded servers.

Actually, you don't really need full-fledged GUI here - the only thing you
need is an invisible dummy window with a message loop....

Anton Bassov

"Piotr Wyderski" wrote:

Anton Bassov wrote:

What about WM_COPYDATA message? Will it work for you?

Well, I think we speak about two completely separate domains. :-)
WM_COPYDATA is a convinient mechanism for passing simple
messages between windows apps. I need a high throughput local
communication layer for bulk transfers close to the peak performance
of the memory subsystem. Not to mention that my programs do not
even have GUI to interpret the WM_ messages, they are big
completion port-based, fully asynchronous multithreaded servers.
I have all the necessary components: shared memory provides
enough bandwidth and the IOCP model provides high scalability.
I'm just looking for a way to match these interfaces using some nifty
trick, since the obvious solution, i.e.
PostRemoteQueuedCompletionStatus(),
does not exist on XP and 2003 (don't know much about Vista).

Best regards
Piotr Wyderski




.



Relevant Pages

  • Re: Splash Screens , how could something so basic still be hard?
    ... You say that there "is no message pump to allow for further GUI ... Note that by "there is no message pump", I mean that because of the way the code is written, no message pump is working while the "splash screen" is displayed. ... In a normal Forms app, there would be a message pump loop, and there's no reason to believe that in those examples, one doesn't exist. ... The same technique is possible in Windows, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Wiseman and McGhie are Ranting Again
    ... >>>rest of the system by dropping Word's run time priority in stages. ... Nearly everything with a GUI has something like an event ... That part of the OS is the windows manager and is typically a ... That is your event loop. ...
    (microsoft.public.mac.office.word)
  • Re: MFC & Guis
    ... The fact that so many GUI wheels are reinvented by so many devs is an ... Users of Windows software form expectations ... > to learn to use your app. ... > while the client areas exhibit behaviour specific to the application domain. ...
    (microsoft.public.vc.mfc)
  • Re: How to make Forth interesting?
    ... trying to deny that I wrote and distributed lots of software ... I think GUI is a good example. ... Humm, Windows Forth ... to the flash files etc. to create flash images for the target ...
    (comp.lang.forth)
  • Re: A little musing on Linux ( was Re: Zip files to multiple floppies)
    ... > various distributions Of linux have made me think a little harsh about ... > and troubles far more than Windows. ... The amount of extra work to program a gui ... Mounting filesystems for example - windows computers only ...
    (Fedora)