Note: I leave it to the module programmers to worry about creating unique ID's for now.
Thanks Manohar On Sat, Mar 27, 2010 at 5:17 AM, Manohar Vanga <[email protected]>wrote: > The problem is that the application is based on a client-server model. The > modules are loaded on both sides and communicate with each others > counterpart on the other end. The messages are routed to the correct module > based on the module ID stored in the packet. Thus it needs to be done at > compile time itself so the client and server can share the values. > > Another way is to generate a map of (server_side_ID --> module_name) on the > server and send the map to the client before communication begins. The > client can then use it to generate a (server_side_ID --> client_side_ID) > map. This work but adds a horrible overhead (no matter how efficiently it is > implemented) as the map will need consulting for every received packet. > Quite unnecessary overhead IMO. At least if it can be done somehow at > compile time. > > Any other ideas? :P > > Thanks > Manohar > > > ---------- Forwarded message ---------- > From: Coder Bean <[email protected]> > Date: Sat, Mar 27, 2010 at 4:56 AM > Subject: Re: [twincling] Recursive Preprocessing? > To: [email protected] > > > What you are trying to do is essentially what all the component based > framework's tried to achieve using UUID. However, IMHO, just checking > whether the id is not zero cannot ensure that the modules don't have invalid > ID. As two modules can be built with same id, in that case. If you want the > ID's to be unique per session, you might want the host application to > generate the ID's and assign it to each module. > > On Sat, Mar 27, 2010 at 6:52 AM, Manohar Vanga <[email protected]>wrote: > >> It is C++. I can use templates (although I would prefer to steer clear of >> it for the time being). >> >> The problem is that I have written piece of code that dynamically loads >> shared libraries at run time (dlopen/dlclose/dlsym). Each module must have a >> unique ID and it needs to be checked for a correct value (!=0). I do this at >> load time as well, but it would be great if there was a way to do the checks >> at module compile time so people know of invalid ID's before the time of >> loading. >> >> For now, I have written a small preprocessor which is "checking" the >> module for correctness. Not the prettiest thing in the world, but it works. >> >> Thanks >> Manohar >> >> On Fri, Mar 26, 2010 at 5:29 PM, coderbean <[email protected]> wrote: >> >>> >>> On Mar 25, 2010, at 10:42 AM, Manohar Vanga wrote: >>> >>> Does anyone know if the following code can be made to work? Alternative >>>> would also be appreciated: >>>> >>>> #define INIT_MODULE(id) \ >>>> #if (id == 0)\ >>>> #error "Invalid ID"\ >>>> #else\ >>>> #define __MODULE_ID__\ >>>> int __module_id = id;\ >>>> #endif >>>> >>>> The __MODULE_ID__ is required later on in the preprocessing. Any >>>> suggestions? I would hate to have to sit and write my own preprocessor :-/ >>>> >>>> >>> Can you please tell what exactly you are trying to achieve here? Is this >>> C or C++? Can you use templates instead of preprocessor? >>> >>> Thanks >>>> Manohar >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >> > >

