From 8e1a1c1f01aef52ba8b2af47503461320a0abc20 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sat, 15 Apr 2017 18:09:48 +0200 Subject: server: Send _push online messages on online change --- broadcast.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 broadcast.c (limited to 'broadcast.c') diff --git a/broadcast.c b/broadcast.c new file mode 100644 index 0000000..0517dc3 --- /dev/null +++ b/broadcast.c @@ -0,0 +1,89 @@ +#include +#include "broadcast.h" +#include "db.h" +#include "net.h" +#include "user_data.h" + + +// Returns whether value was new and therefore inserted into the list. +// If already present, does nothing and returns false. +// Assumes enough space for the possible new item. +static bool sorted_insert(i64 *buf,i64 len,i64 value){ + if(len==0){ + buf[0]=value; + return true; + } + i64 L=0,H=len-1; + if(buf[L]==value||buf[H]==value)return false; + if(valuebuf[H]){ + buf[len]=value; + return true; + } + while(Lvalue)break; + } else if(buf[M]>value){ + H=M-1; + if(buf[H]