Is this synchronous or asynchronous? ie. does the caller need to worry about being blocked for an indeterminate time?