local server spam stress test, map field

This commit is contained in:
Mark Nadal
2015-06-15 19:24:43 -07:00
parent 2bff91fa2d
commit 04059b8feb
5 changed files with 17 additions and 15 deletions

View File

@@ -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);

View File

@@ -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>