Skip to content

Commit

Permalink
modify iteration for CallID and UserBased algo
Browse files Browse the repository at this point in the history
  • Loading branch information
knosach committed Jun 14, 2017
1 parent a6dc98b commit cc525a3
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -280,30 +280,33 @@ protected synchronized Node nextAvailableNode(Boolean isIpV6) {
ipv4It = currIt;
}
Entry<KeySip, Node> pair = null;
while(currIt.hasNext())
int count = invocationContext.sipNodeMap(isIpV6).size();
while(count>0)
{
pair = currIt.next();
if(invocationContext.sipNodeMap(isIpV6).containsKey(pair.getKey())
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
return pair.getValue();
}
currIt = invocationContext.sipNodeMap(isIpV6).entrySet().iterator();
if(isIpV6)
ipv6It = currIt;
else
ipv4It = currIt;
if(currIt.hasNext())
{
pair = currIt.next();
if(!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
return pair.getValue();
else
return null;
while(currIt.hasNext() && count > 0)
{
pair = currIt.next();
if(invocationContext.sipNodeMap(isIpV6).containsKey(pair.getKey())
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
{
return pair.getValue();
}
else
{
count--;
}
}

if(!currIt.hasNext())
currIt = invocationContext.sipNodeMap(isIpV6).entrySet().iterator();

if(isIpV6)
ipv6It = currIt;
else
ipv4It = currIt;
}
else
return null;
return null;
}

protected synchronized Node leastBusyTargetNode(Node deadNode) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,30 +312,33 @@ protected synchronized Node nextAvailableNode(Boolean isIpV6) {
ipv4It = currIt;
}
Entry<KeySip, Node> pair = null;
while(currIt.hasNext())
int count = invocationContext.sipNodeMap(isIpV6).size();
while(count>0)
{
pair = currIt.next();
if(invocationContext.sipNodeMap(isIpV6).containsKey(pair.getKey())
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
return pair.getValue();
}
currIt = invocationContext.sipNodeMap(isIpV6).entrySet().iterator();
if(isIpV6)
ipv6It = currIt;
else
ipv4It = currIt;
if(currIt.hasNext())
{
pair = currIt.next();
if(!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
return pair.getValue();
while(currIt.hasNext() && count > 0)
{
pair = currIt.next();
if(invocationContext.sipNodeMap(isIpV6).containsKey(pair.getKey())
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isGracefulShutdown()
&&!invocationContext.sipNodeMap(isIpV6).get(pair.getKey()).isBad())
{
return pair.getValue();
}
else
{
count--;
}
}

if(!currIt.hasNext())
currIt = invocationContext.sipNodeMap(isIpV6).entrySet().iterator();

if(isIpV6)
ipv6It = currIt;
else
return null;
ipv4It = currIt;
}
else
return null;
return null;
}

protected synchronized Node leastBusyTargetNode(Node deadNode) {
Expand Down Expand Up @@ -488,4 +491,4 @@ synchronized public void groupedFailover(Node oldNode, Node newNode) {
}
}

}
}

0 comments on commit cc525a3

Please sign in to comment.