Re: weighted round robin

2016-10-19 Thread Marc Schütz via Digitalmars-d-learn

On Tuesday, 18 October 2016 at 16:43:19 UTC, vino wrote:

On Wednesday, 12 October 2016 at 13:44:59 UTC, Erikvv wrote:
In your first post you mention it should be weighted, but I 
see no weights anywhere.


Hi Marc,

  I am at the initial stage of implementing the round robin 
algorithm and still not reached the next part of weighted , if 
you have the code then please send me at present i am trying to 
implement this algorithm in my Server socket program and i 
would require few more days to complete it.


Note that I'm not the one you wrote the above comment ;-)


Re: weighted round robin

2016-10-18 Thread vino via Digitalmars-d-learn

On Wednesday, 12 October 2016 at 13:44:59 UTC, Erikvv wrote:

On Tuesday, 11 October 2016 at 06:28:10 UTC, vino wrote:

On Monday, 10 October 2016 at 09:18:16 UTC, Marc Schütz wrote:

[...]


Hi Marc,

 Thank you, I have made a small update as the Server Array is 
fixed length and the Socket array would be dynamic so made the 
below changes as now it is working as expected

Prog:1
import std.stdio;
import std.range;
import std.range.primitives;
import std.algorithm.comparison : max;

void main()
{
 auto a = [1,2,3];   // E.g :Server Array
 auto b = [1,2,3,4,5,6,7,8,9,10,11,12];  // E.g: 
Socket Array

 auto r = roundRobin(a.cycle, b.cycle);
 writeln(r.take(max(a.length, b.length * 2)));
 }

From,
Vino.B


In your first post you mention it should be weighted, but I see 
no weights anywhere.


Hi Marc,

  I am at the initial stage of implementing the round robin 
algorithm and still not reached the next part of weighted , if 
you have the code then please send me at present i am trying to 
implement this algorithm in my Server socket program and i would 
require few more days to complete it.





Re: weighted round robin

2016-10-11 Thread vino via Digitalmars-d-learn

On Monday, 10 October 2016 at 09:18:16 UTC, Marc Schütz wrote:

On Saturday, 8 October 2016 at 22:48:53 UTC, vino wrote:

Hi,

 Can some one guide me on how to implement the weighted round 
robin, below is what i tried or any other better ways to do it


Main Requirement : Incoming socket connection has to be sent 
to 3 servers in the weighted round robin fashion.


Prog:1
import std.stdio;
import std.range;
import std.range.primitives;

void main()
{
auto a = [1,2,3]; // E.g :Server Array
auto b = [1,2,3,4,5]; // E.g: Socket Array
auto r = roundRobin(a, b);
writeln(r);
}
OUTPUT : [1, 1, 2, 2, 3, 3, 4, 5]
Requirement : [1, 1, 2, 2, 3, 3,1,4,2,5]


auto r = roundRobin(a.cycle, b.cycle);

Beware though that this yields an infinite range. If you just 
need one round, you can use:


import std.algorithm.comparison : max;
writeln(r.take(max(a.length, b.length)));


Hi Marc,

 Thank you, I have made a small update as the Server Array is 
fixed length and the Socket array would be dynamic so made the 
below changes as now it is working as expected

Prog:1
import std.stdio;
import std.range;
import std.range.primitives;
import std.algorithm.comparison : max;

void main()
{
 auto a = [1,2,3];   // E.g :Server Array
 auto b = [1,2,3,4,5,6,7,8,9,10,11,12];  // E.g: 
Socket Array

 auto r = roundRobin(a.cycle, b.cycle);
 writeln(r.take(max(a.length, b.length * 2)));
 }

From,
Vino.B


Re: weighted round robin

2016-10-10 Thread Marc Schütz via Digitalmars-d-learn

On Saturday, 8 October 2016 at 22:48:53 UTC, vino wrote:

Hi,

 Can some one guide me on how to implement the weighted round 
robin, below is what i tried or any other better ways to do it


Main Requirement : Incoming socket connection has to be sent to 
3 servers in the weighted round robin fashion.


Prog:1
import std.stdio;
import std.range;
import std.range.primitives;

void main()
{
auto a = [1,2,3]; // E.g :Server Array
auto b = [1,2,3,4,5]; // E.g: Socket Array
auto r = roundRobin(a, b);
writeln(r);
}
OUTPUT : [1, 1, 2, 2, 3, 3, 4, 5]
Requirement : [1, 1, 2, 2, 3, 3,1,4,2,5]


auto r = roundRobin(a.cycle, b.cycle);

Beware though that this yields an infinite range. If you just 
need one round, you can use:


import std.algorithm.comparison : max;
writeln(r.take(max(a.length, b.length)));



weighted round robin

2016-10-08 Thread vino via Digitalmars-d-learn

Hi,

 Can some one guide me on how to implement the weighted round 
robin, below is what i tried or any other better ways to do it


Main Requirement : Incoming socket connection has to be sent to 3 
servers in the weighted round robin fashion.


Prog:1
import std.stdio;
import std.range;
import std.range.primitives;

void main()
{
auto a = [1,2,3]; // E.g :Server Array
auto b = [1,2,3,4,5]; // E.g: Socket Array
auto r = roundRobin(a, b);
writeln(r);
}
OUTPUT : [1, 1, 2, 2, 3, 3, 4, 5]
Requirement : [1, 1, 2, 2, 3, 3,1,4,2,5]

From,
Vino