outsourcing DCE/RPC to alternate programs - runtime config option

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Dec 12 13:13:07 GMT 2004


On Sun, Dec 12, 2004 at 11:59:01AM +0000, Luke Kenneth Casson Leighton wrote:

> > It involved nasty static variable hacks, 
> > making the
> > code essentially untestable as a function could not be relied upon to
> > perform the same way twice.
>  
>  i genuinely don't recall you mentioning any objections about static
>  variables to me.
> 
>  i assume you are referring to the optimisation of the msrpc client 
>  library, which was based on the "NET.EXE USE" principle?

 the same principle is used in KDE 3.2 and KDE 3.3 - namely that
 various libraries establish and manage network connections
 such as IMAP, HTTP, HTTPS and FTP connections on behalf of
 the users of those libraries.

 the reason for managing and keeping those connections open is because
 they are typically expensive to set up or require user interaction
 such as requesting a password.

 in the case of ncacn_np, establishing a connection through the SMB
 layer requires about 15-20 round-trips!

 so i put in a solution that solved a problem, and it required
 the use of static variables, and provided a badly needed
 optimisation - one that is in common use today in several
 other projects (KDE) and products (Windows NT).


 optimisations often require compromises over good technical practice.

 ... what's wrong with that?


 you see - once again, you have demonstrated that you do not
 appreciate the reasons why i made certain decisions, in an
 effort to provide decent service to users.

 and once again i have demonstrated my inability to justify
 to you why certain technical compromises are necessary.

 it's just so disappointing.

 l.



More information about the samba-technical mailing list