Skip to content

Instantly share code, notes, and snippets.

@bpot
Created September 3, 2010 06:09
Show Gist options
  • Select an option

  • Save bpot/563488 to your computer and use it in GitHub Desktop.

Select an option

Save bpot/563488 to your computer and use it in GitHub Desktop.
var Gossiper = require('gossiper').Gossiper;
var seed = new Gossiper(9000, []);
seed.start();
var n = 0;
var gs = [];
var start_time = undefined;
var count = 100;
for(var i = 9001; i < 9001+count;i++) {
var g = gs[i] = new Gossiper(i, ['127.0.0.1:9000']);
g.start();
g.on('update', function(peer,k,v) {
if(k == "hi") {
console.log("hi received by " + this.peer_name + " at " + (new Date().getTime()));
n++;
if(n == count) {
console.log("fully propogated");
console.log("took " + (new Date().getTime() - start_time));
}
}
});
}
var g = new Gossiper(9999, ['127.0.0.1:9000']);
g.start();
setTimeout(function() {
console.log(seed.allPeers());
// Set value for 'hi'
g.setLocalState('hi', 'hello');
start_time = new Date().getTime();
console.log('hi sent ' + (new Date().getTime()));
}, 10000);
/*
Output
hi sent 1283494267854
hi received by 127.0.0.1:9055 at 1283494267877
hi received by 127.0.0.1:9028 at 1283494268687
hi received by 127.0.0.1:9063 at 1283494268749
hi received by 127.0.0.1:9070 at 1283494268767
hi received by 127.0.0.1:9038 at 1283494268784
hi received by 127.0.0.1:9096 at 1283494268837
hi received by 127.0.0.1:9072 at 1283494268850
hi received by 127.0.0.1:9014 at 1283494269657
hi received by 127.0.0.1:9025 at 1283494269681
hi received by 127.0.0.1:9023 at 1283494269689
hi received by 127.0.0.1:9001 at 1283494269712
hi received by 127.0.0.1:9046 at 1283494269724
hi received by 127.0.0.1:9048 at 1283494269729
hi received by 127.0.0.1:9050 at 1283494269737
hi received by 127.0.0.1:9051 at 1283494269740
hi received by 127.0.0.1:9066 at 1283494269747
hi received by 127.0.0.1:9058 at 1283494269752
hi received by 127.0.0.1:9039 at 1283494269770
hi received by 127.0.0.1:9067 at 1283494269776
hi received by 127.0.0.1:9069 at 1283494269778
hi received by 127.0.0.1:9065 at 1283494269781
hi received by 127.0.0.1:9080 at 1283494269809
hi received by 127.0.0.1:9082 at 1283494269812
hi received by 127.0.0.1:9092 at 1283494269829
hi received by 127.0.0.1:9021 at 1283494269838
hi received by 127.0.0.1:9097 at 1283494269840
hi received by 127.0.0.1:9098 at 1283494269841
hi received by 127.0.0.1:9004 at 1283494270631
hi received by 127.0.0.1:9002 at 1283494270631
hi received by 127.0.0.1:9005 at 1283494270636
hi received by 127.0.0.1:9006 at 1283494270637
hi received by 127.0.0.1:9007 at 1283494270640
hi received by 127.0.0.1:9012 at 1283494270648
hi received by 127.0.0.1:9003 at 1283494270654
hi received by 127.0.0.1:9016 at 1283494270656
hi received by 127.0.0.1:9024 at 1283494270681
hi received by 127.0.0.1:9026 at 1283494270683
hi received by 127.0.0.1:9042 at 1283494270684
hi received by 127.0.0.1:9043 at 1283494270689
hi received by 127.0.0.1:9030 at 1283494270691
hi received by 127.0.0.1:9031 at 1283494270693
hi received by 127.0.0.1:9033 at 1283494270697
hi received by 127.0.0.1:9036 at 1283494270702
hi received by 127.0.0.1:9037 at 1283494270705
hi received by 127.0.0.1:9017 at 1283494270720
hi received by 127.0.0.1:9044 at 1283494270720
hi received by 127.0.0.1:9045 at 1283494270723
hi received by 127.0.0.1:9061 at 1283494270797
hi received by 127.0.0.1:9053 at 1283494270801
hi received by 127.0.0.1:9052 at 1283494270802
hi received by 127.0.0.1:9049 at 1283494270803
hi received by 127.0.0.1:9056 at 1283494270809
hi received by 127.0.0.1:9089 at 1283494270810
hi received by 127.0.0.1:9040 at 1283494270811
hi received by 127.0.0.1:9032 at 1283494270823
hi received by 127.0.0.1:9009 at 1283494270824
hi received by 127.0.0.1:9020 at 1283494270832
hi received by 127.0.0.1:9076 at 1283494270834
hi received by 127.0.0.1:9074 at 1283494270834
hi received by 127.0.0.1:9081 at 1283494270843
hi received by 127.0.0.1:9078 at 1283494270845
hi received by 127.0.0.1:9027 at 1283494270852
hi received by 127.0.0.1:9085 at 1283494270854
hi received by 127.0.0.1:9084 at 1283494270855
hi received by 127.0.0.1:9087 at 1283494270860
hi received by 127.0.0.1:9090 at 1283494270862
hi received by 127.0.0.1:9047 at 1283494270866
hi received by 127.0.0.1:9093 at 1283494270869
hi received by 127.0.0.1:9094 at 1283494270875
hi received by 127.0.0.1:9035 at 1283494271630
hi received by 127.0.0.1:9008 at 1283494271635
hi received by 127.0.0.1:9010 at 1283494271640
hi received by 127.0.0.1:9011 at 1283494271646
hi received by 127.0.0.1:9015 at 1283494271653
hi received by 127.0.0.1:9018 at 1283494271663
hi received by 127.0.0.1:9019 at 1283494271665
hi received by 127.0.0.1:9073 at 1283494271676
hi received by 127.0.0.1:9075 at 1283494271681
hi received by 127.0.0.1:9099 at 1283494271694
hi received by 127.0.0.1:9029 at 1283494271695
hi received by 127.0.0.1:9077 at 1283494271707
hi received by 127.0.0.1:9041 at 1283494271713
hi received by 127.0.0.1:9022 at 1283494271725
hi received by 127.0.0.1:9083 at 1283494271732
hi received by 127.0.0.1:9054 at 1283494271743
hi received by 127.0.0.1:9091 at 1283494271752
hi received by 127.0.0.1:9057 at 1283494271752
hi received by 127.0.0.1:9059 at 1283494271756
hi received by 127.0.0.1:9062 at 1283494271761
hi received by 127.0.0.1:9064 at 1283494271766
hi received by 127.0.0.1:9071 at 1283494271783
hi received by 127.0.0.1:9079 at 1283494271800
hi received by 127.0.0.1:9086 at 1283494271823
hi received by 127.0.0.1:9088 at 1283494271828
hi received by 127.0.0.1:9095 at 1283494271841
hi received by 127.0.0.1:9100 at 1283494271848
hi received by 127.0.0.1:9013 at 1283494272649
hi received by 127.0.0.1:9034 at 1283494272699
hi received by 127.0.0.1:9060 at 1283494272763
hi received by 127.0.0.1:9068 at 1283494272791
fully propogated
took 4937
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment