kvs.hrl 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. -ifndef(KVS_HRL).
  2. -define(KVS_HRL, true).
  3. -record(writer, {id = [] :: term(), % {p2p,_,_} | {muc,_}
  4. count = 0 :: integer(),
  5. cache = [] :: [] | tuple(),
  6. args = [] :: term(),
  7. first = [] :: [] | tuple()}).
  8. -record(reader, {id = [] :: term(), % phone_id
  9. pos = [] :: [] | integer(),
  10. cache = [] :: [] | integer(),
  11. args = [] :: term(),
  12. feed = [] :: term(), % {p2p,_,_} | {muc,_} -- link to writer
  13. dir = 0 :: 0 | 1}).
  14. -define(CUR, id = [] :: term(),
  15. top= [] :: [] | integer(),
  16. bot= [] :: [] | integer(),
  17. dir= 0 :: 0 | 1,
  18. reader= [] :: [] | tuple(),
  19. writer= [] :: [] | tuple()).
  20. -record(cur, {?CUR, left=0, right=0, args=[]::list(tuple()|integer()), money=0, status=[]}).
  21. -define(ITER, id = [] :: [] | integer(),
  22. feed = [] :: term(),
  23. next = [] :: [] | integer(),
  24. prev = [] :: [] | integer()).
  25. -record(iter, {?ITER}).
  26. -define(CONTAINER, id=[] :: [] | integer(),
  27. top=[] :: [] | integer(),
  28. rear=[] :: [] | integer(),
  29. count=0 :: integer()).
  30. -define(ITERATOR(Container), id=[] :: [] | integer(),
  31. container=Container :: atom(),
  32. feed_id=[] :: term(),
  33. prev=[] :: [] | integer(),
  34. next=[] :: [] | integer(),
  35. feeds=[] :: list()).
  36. -record(id_seq, {thing, id}).
  37. -record(container, {?CONTAINER}).
  38. -record(iterator, {?ITERATOR([])}).
  39. -record(block, {left,right,name,last}).
  40. -record(log, {?CONTAINER, name, acc}).
  41. -record(operation, {?ITERATOR(log), body=[], name=[], status=[]}).
  42. -record(kvs, {mod,cx}).
  43. -compile({no_auto_import,[put/2]}).
  44. -endif.