Namdak Tonpa 7 years ago
parent
commit
5171904b74
1 changed files with 9 additions and 2 deletions
  1. 9 2
      src/kvs_stream.erl

+ 9 - 2
src/kvs_stream.erl

@@ -12,7 +12,14 @@ take(___,0,Cursor,Res)    -> lists:flatten(Res);
 take(Atom,Number,#cursor{val=Body}=Cursor,Res) ->
     take(Atom,Number-1,?MODULE:Atom(Cursor),[Body|Res]).
 
-add(Atom,Message,#cursor{tab=Table,bot=Bot,val=[]}=Cursor) ->
+add(top,Message,#cursor{tab=Table,top=Top,val=[]}=Cursor) ->
+    Id = element(2,Message),
+    M1 = setelement(#iterator.next, Message, Top),
+    M2 = setelement(#iterator.prev, M1,      []),
+    kvs:put(M2),
+    Cursor#cursor{val=M2,id=Id,bot=Id,top=Id};
+
+add(bot,Message,#cursor{tab=Table,bot=Bot,val=[]}=Cursor) ->
     Id = element(2,Message),
     M1 = setelement(#iterator.prev, Message, Bot),
     M2 = setelement(#iterator.next, M1,      []),
@@ -92,4 +99,4 @@ test() ->
     X = take(top,-1,A),
     Y = take(bot,-1,A),
     X = lists:reverse(Y),
-    ok.
+    length(X).