[zeromq-dev] P/Invoke-based CLR access to zeroMQ
Martin Sustrik
sustrik at fastmq.com
Sun Feb 22 12:52:35 CET 2009
Martin Sustrik wrote:
>> I would rather think of a way to pin the CLI-supplied buffer down, send
>> it to 0MQ and ask it (via ffn) to unpin the buffer once the data are
>> physically sent to the network. Is that kind of thing possible?
>
> What about GCHandle?
>
> Have a look at section "Object Lifetime and Pinning" here:
>
> http://msdn.microsoft.com/en-us/magazine/cc163910.aspx
One more though: If we are going this way, I would expect that pinning
is not for free. At least it would have an unwelcome effect of getting
in conflict with gc algorithms. Thus I would suggest using pinning only
for messages larger than X bytes and pass smaller messages on by copy.
This system of zero-copy+pin for large messages vs. copy+no-pin for
small messages is rather standard at low layers of high-perf networking
software. Why not use the same thing in the upmost layer?
Martin
More information about the zeromq-dev
mailing list