mercury-hpc / mercury

Mercury is a C library for implementing RPC, optimized for HPC.
http://www.mcs.anl.gov/projects/mercury/
BSD 3-Clause "New" or "Revised" License
164 stars 60 forks source link

HG: add timeout test #393

Open soumagne opened 3 years ago

soumagne commented 3 years ago

Not really high-priority but once in a while we have timeout issues (not at the moment) and it would be fairly easy to measure how much time is spent in routines that take a timeout.

lokesharo commented 3 years ago

I am using Mercury for RPC in my project. Link states that timeouts are not supported by mercury due to metadata overhead. Hence, our project uses our own timeouts and then invoke HG_Cancel() in case timer expires.

What timeout tests are we exactly talking about in the current task? Has the timeouts been implemented in the latest release or is in pipeline?

soumagne commented 3 years ago

This task was meant to add tests that check existing timeouts that are passed to functions such as HG_Progress() / HG_Trigger(). We do not plan to support passing of timeouts to HG_Forward() / HG_Respond() at this time as this would require tracking of operations internally. If you need something that facilitates implementation of timeouts or need timers, you can look at using mercury_time.h though. Using your own timeout and calling cancel is what we intend you to do.