Probably three functions, one to send a request, one to check if a response is available, and one to receive a response.
That would be a good implementation
The other one could involve register a callback function (event driven), but for an Arduino I think that is overkill.