Pavlin Radoslavov wrote:
> At the high level, _pulled_config is used for synchronous purpose,
> while the _live_config is used for asyncronous purpose.
>
> However, just can't just get rid of pulled_config:
>   
I basically got rid of live-config, and let the observer update the 
pulled_config
tree.
> * The Observer mechanism doesn't always exist (e.g., Windows).
>
> * In some cases (like when committing the interface
>   configuration), in the middle of the commit we need to
>   synchronously pull the interface configuration from the kernel
>   (e.g., to fill-in kernel generated information such as the
>   physical interface index).
>   The Observer is asynchronous so we can't use it for the synchronous
>   population of _pull_config.
>   
I think that will work fine with how I'm trying to use it.  Xorp isn't 
multi-threaded (thank god),
so no observer will be updating the tree while we are doing a sync 
pull_config.  Any messages
that come in afterwards should be either duplicate information (which 
should cause no harm), or
be new changes since the sync pull completed.

There *might* be a way to get in a weird state if the observer has 
queued msgs from
before the sync pull, but I can't think of any offhand since it seems 
they should just
be redundant in that case.

Thanks,
Ben

-- 
Ben Greear <[EMAIL PROTECTED]> 
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to