mirror of
https://github.com/amark/gun.git
synced 2025-03-30 15:08:33 +00:00
local server spam stress test, map field
This commit is contained in:
parent
2bff91fa2d
commit
04059b8feb
@ -1,3 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<style>
|
||||
@ -10,6 +11,7 @@
|
||||
<b class="who"></b>:
|
||||
<span class="what"></span>
|
||||
<i class="when">0</i>
|
||||
<u class="sort hide">0</u>
|
||||
</li>
|
||||
</ul>
|
||||
<form>
|
||||
@ -29,32 +31,33 @@
|
||||
});
|
||||
$('form').submit(function(e){
|
||||
var msg = {};
|
||||
msg.when = Gun.time.is() + '_' + Gun.text.random(4);
|
||||
msg.when = Gun.time.is();
|
||||
msg.who = $(this).find('.who').val() || 'user' + Gun.text.random(6);
|
||||
msg.what = $(this).find('.what').val() || '';
|
||||
chat.path(msg.when).put(msg);
|
||||
chat.path(msg.when + '_' + Gun.text.random(4)).put(msg);
|
||||
$(this).find('.what').val('');
|
||||
return e.preventDefault(), false;
|
||||
});
|
||||
|
||||
var $model = $('ul li').clone().removeClass('hide');
|
||||
chat.map().val(function(msg, field){
|
||||
//console.log("the message:", field, msg);
|
||||
if(!spam.lock && !spam.start){ spam(); }
|
||||
console.log("the message:", msg);
|
||||
var $last = sort(msg.when, $('ul li').last()), $msg = $("#msg-" + msg.when);
|
||||
$msg = $msg.length? $msg : $model.clone().attr('id', 'msg-' + msg.when).insertAfter($last);
|
||||
var $last = sort(field, $('ul li').last()), $msg = $("#msg-" + field);
|
||||
$msg = $msg.length? $msg : $model.clone().attr('id', 'msg-' + field).insertBefore($last);
|
||||
$msg.find('.who').text(msg.who);
|
||||
$msg.find('.what').text(msg.what);
|
||||
$msg.find('.when').text(msg.when);
|
||||
$msg.find('.when').text(new Date(msg.when).toLocaleTimeString());
|
||||
$msg.find('.sort').text(field);
|
||||
window.scrollTo(0,document.body.scrollHeight);
|
||||
});
|
||||
function sort(when, elem){
|
||||
return (when > (elem.find('.when').text() || 0))? elem : sort(when, elem.prev());
|
||||
return (when > (elem.find('.sort').text() || 0))? elem : sort(when, elem.prev());
|
||||
}
|
||||
function spam(){
|
||||
spam.start = true;
|
||||
spam.lock = false;
|
||||
if(spam.count > 1500){ return }
|
||||
if(spam.count >= 20){ return }
|
||||
$('.what').val(++spam.count);
|
||||
$('form').trigger('submit');
|
||||
setTimeout(spam, 0);
|
||||
|
@ -9,8 +9,8 @@
|
||||
border-top: ridge 2em skyblue;
|
||||
}
|
||||
</style>
|
||||
<a href="todo/index.html"><iframe src="todo/index.html"></iframe></a>
|
||||
<a href="json/index.html"><iframe src="json/index.html"></iframe></a>
|
||||
<a href="/todo/index.html"><iframe src="/todo/index.html"></iframe></a>
|
||||
<a href="/json/index.html"><iframe src="/json/index.html"></iframe></a>
|
||||
<script src="../../gun.js"></script>
|
||||
</body>
|
||||
</html>
|
6
gun.js
6
gun.js
@ -424,9 +424,9 @@
|
||||
|
||||
gun._.at('node').event(function($){
|
||||
var node = gun.__.graph[$.soul];
|
||||
if($.field){ return cb.call(gun, node[$.field], $.field) }
|
||||
if($.field){ return cb.call(gun, node[$.field], $.field || $.at) }
|
||||
if(!gun.__.flag.end[$.soul]){ return }
|
||||
cb.call(gun, Gun.obj.copy(node));
|
||||
cb.call(gun, Gun.obj.copy(node), $.field || $.at);
|
||||
});
|
||||
|
||||
return gun;
|
||||
@ -983,7 +983,7 @@
|
||||
Gun.obj.map(gun.__.opt.peers, function(peer, url){
|
||||
request(url, nodes, function(err, reply){
|
||||
reply.body = reply.body || reply.chunk || reply.end || reply.write;
|
||||
console.log("PUT success?", err, reply);
|
||||
Gun.log("PUT success?", err, reply);
|
||||
if(err || !reply || (err = reply.body && reply.body.err)){
|
||||
return cb({err: Gun.log(err || "Error: Put failed on " + url) });
|
||||
} else {
|
||||
|
@ -6,7 +6,7 @@
|
||||
var Gun = require('../gun'), file = {};
|
||||
|
||||
Gun.on('opt').event(function(gun, opts){
|
||||
if(opts.s3 && opts.s3.key){ return } // don't use this plugin if S3 is being used.
|
||||
if(opts.file === false && opts.s3 && opts.s3.key){ return } // don't use this plugin if S3 is being used.
|
||||
|
||||
opts.file = opts.file || 'data.json';
|
||||
var fs = require('fs');
|
||||
|
@ -104,7 +104,6 @@
|
||||
//console.log(req);
|
||||
if(req && req.url && Gun.obj.has(req.url.query, '*')){
|
||||
return gun.all(req.url.key + req.url.search, function(err, list){
|
||||
console.log("reply all with", err, list);
|
||||
cb({headers: reply.headers, body: (err? (err.err? err : {err: err || "Unknown error."}) : list || null ) })
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user