[ 
https://issues.apache.org/jira/browse/GOSSIP-35?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114301#comment-16114301
 ] 

Edward Capriolo commented on GOSSIP-35:
---------------------------------------

There is another option you might want to explore. The challenge is this 
GossipSettings is a single Class that has properties for ActiveGossiper which 
is an abstract class that can have N implementations. Likely there will never 
be more then a handful of classes, but as you pointed out there is many ugly 
properties. We can handle it using generics:

{code}
class GossipSettings<ActiveGossiperType> {
  private ActiveGossiperType activeGossipSettings;
{code}

Each ActiveGossiperSubclass would work only with it's specific configuration 
object. They could extend each other but technically the configuration objects 
would not have to extend the same base class. You could still builders on top 
of this system as well.

No matter which solution you chose I am +1. The important feature is to take 
out the hard-codes. 

> Different payloads can be transmitted at different rates
> --------------------------------------------------------
>
>                 Key: GOSSIP-35
>                 URL: https://issues.apache.org/jira/browse/GOSSIP-35
>             Project: Gossip
>          Issue Type: New Feature
>            Reporter: Edward Capriolo
>            Assignee: Juby Victor
>             Fix For: 0.1.3
>
>
> Current we have a a few ScheduledExectuor one that controls active gossip, 
> one that controls gossip to dead nodes, one that controls gosssip of user 
> data, etc. Currently they all use the same setting to control how often they 
> run (10ms currently). It would be better if they each had their own setting. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to