irpc changes

Stefan (metze) Metzmacher metze at samba.org
Thu Sep 9 04:49:25 MDT 2010


Hi Tridge,

> In your recent irpc changes, why did you remove the convenience
> functions and macros? I can understand the underlying handle changes,
> but the resulting API that is now used has become a lot more verbose,
> for no obvious reason. 

Because I wanted to get rid of 'struct irpc_request' being public.

If you really want we could add an IRPC_CALL() macro for the sync case,
but I prefer that it's clear that the normal dcerpc bindings are used.

> For example, where we previous had a irpc_call_send() we now have
> about 25 lines of code. 

I guess you mean the changes in pymessaging...

but irpc_call_send was removed and this place would be the only
caller of it, but that had implied that it's needed to keep irpc_request
public.

At the same time I fixed a bug (maybe a separate commit for it would
have been better).
Before all irpc_call_send functions used the same struct 'ptr'.
As the python iterator for the results called irpc_call_recv
in the same order as the irpc_call_send call where done,
I guess it was possible that results were overwritten,
when the results didn't arrive in the same order.

Maybe I better had splited the changes in dsdb/kcc/kcc_periodic.c
into two commits 1. use the sync dcerpc_*_r() function and then
change it to use the async api.

metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100909/04f678fd/attachment.pgp>


More information about the samba-technical mailing list