[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dents-list
Subject:    how to handle transfers in module system?
From:       Todd Graham Lewis <tlewis () mindspring ! net>
Date:       1998-12-06 21:17:53
[Download RAW message or body]

How do we handle zone transfers in the module system?  Do we just
have a function:

	int dents_module_dump_zone(char *zone_name, \
		char *buffer, int max_size);

that writes an RFC-compliant zone transfer message into a buffer?  Or
maybe:

	int dents_module_dump_zone(char *zone_name, \
		char *file_name, int max_size);

which does the same, only dumping it to a file instead of an in-mem
buffer?

The "right" way to do this is to start a "transfer session" and keep
pulling lines out of the zone until there are no more; that way it can
be done in constant space.  However, this is more complicated, since the
module writer now has to track zone transfers statefully internally to
his module.  I prefer the "right" way, but I am unsure how much of an
additional burden this would place on the module writers, or even exactly
what it would look like.

(In my module system prototype, this will probably be done as "void
dents_module_dump_zone(char * zone_name);" with a null implementation in
all of the sample modules.  Needless to say, this is not an acceptable
solution in the long run.)

Which way should we do it?  Send your prototypes to the list.

-- 
Todd Graham Lewis       tlewis@mindspring.net      (800) 719-4664, x2804

"It's still ludicrous that nobody's ever made a run at us by making UNIX
 a popular platform on PCs.  It's almost too late now."  -- Steve Balmer
"It is too late."   -- Bill Gates             _Newsweek_, 6/23/97, p. 82

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic