'Easy to use version of :meth:`~astropy.samp.integrated_client.SAMPIntegratedClient.call_and_wait`.
This is a proxy to ``callAndWait`` method that allows to send the call
message in a simplified way.
Note that reserved ``extra_kws`` keyword is a dictionary with the
special meaning of being used to add extra keywords, in addition to
the standard ``samp.mtype`` and ``samp.params``, to the message sent.
Parameters
recipient_id : str
Recipient ID
mtype : str
MType to be sent
timeout : str
Call timeout in seconds
params : dict of set of keywords
Variable keyword set which contains the list of parameters for
the specified MType.
Examples
>>> from astropy.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> cli.ecall_and_wait("xyz", "samp.msg.progress", "5",
...                    txt = "initialization", percent = "10",
...                    extra_kws = {"my.extra.info": "just an example"})'

def ecall_and_wait(self, recipient_id, mtype, timeout, **params):

    return self.call_and_wait(recipient_id, self._format_easy_msg(mtype, params), timeout)
