Ok cool -- I actually ended up doing that right after I emailed the list, and it works. Thanks :)
- David On Mon, Dec 15, 2008 at 5:42 PM, Mark Slee <[email protected]> wrote: > Just have your CalculatorServiceHandler inherit from ServiceBaseHandler. > > Fb303 example would look like: > class CalculatorHandler : virtual public CalculatorServiceIf, public > FacebookBase { > } > > By inheriting public from FacebookBase you get the base method > implementations. > > > -----Original Message----- > From: David Balatero [mailto:[email protected]] > Sent: Monday, December 15, 2008 4:25 PM > To: [email protected] > Subject: Defining a base service in thrift? > > I want to set up the following type of service structure: > > Thrift > --------------------------- > service ServiceBase { > // A generic method to ping if a service is up? > bool ping(), > > // How long has this service been up? > i64 uptime() > } > > service CalculatorService extends ServiceBase { > // Adds two ints together. > int add(int a, int b) > } > > I want to implement the ServiceBase methods only once, so that all services > can be ping()able, and all services can be queried about their uptime(). This > way, any service under my infrastructure only has to implement its special > methods (CalculatorService::add(), for example). > > However, there doesn't seem to be a clean way for me to provide a base > implementation with my C++ services, and have the auto-generated > implementations also inherit from my base implementation. > > How have other people solved this problem? I was trying to poke into fb303, > but I wasn't able to gain any more insight in accomplishing this. Maybe I > missed something, though? Any help would be appreciated. > > Thanks! > David Balatero >
