| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-06-06 22:27:15 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-06-06 22:27:15 +0200 | 
| commit | d99f1e8b0efedf1286ab15c656a0ea874823865f (patch) | |
| tree | cb59e56498b59d369eed6b53cf58edc72521068b /src/shared | |
| parent | daa6c9b3fa9a62d3f6a1a696f67976e904d641b9 (diff) | |
... it actually seems to work rather well.reorganizing
Quite a lot of missing db_query:op() though.
Diffstat (limited to 'src/shared')
| -rw-r--r-- | src/shared/io/sh_database.erl | 118 | ||||
| -rw-r--r-- | src/shared/io/sh_timed_caches_manager.erl | 2 | 
2 files changed, 17 insertions, 103 deletions
| diff --git a/src/shared/io/sh_database.erl b/src/shared/io/sh_database.erl index 5fa791f..8b52f9e 100644 --- a/src/shared/io/sh_database.erl +++ b/src/shared/io/sh_database.erl @@ -10,7 +10,7 @@  -export  (     [ -      generate_db/0, +      insert/4,        fetch/2,        commit/1     ] @@ -19,119 +19,33 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -get_db_node () -> -   list_to_atom("db_node@" ++ net_adm:localhost()). +get_db_node () -> list_to_atom("db_node@" ++ net_adm:localhost()). --spec generate_random_characters -   ( -      non_neg_integer(), -      non_neg_integer(), -      non_neg_integer(), -      non_neg_integer(), -      bm_battlemap:type(), -      list(bm_location:type()), -      list(bm_character:type()) -   ) -   -> list(bm_character:type()). -generate_random_characters -( -   0, -   0, -   _CharactersPerPlayer, -   _TotalCharacterCount, -   _Battlemap, -   _ForbiddenLocations, -   Result -) -> -   Result; -generate_random_characters -( -   MaxPlayerID, -   0, -   CharactersPerPlayer, -   TotalCharacterCount, -   Battlemap, -   ForbiddenLocations, -   Result -) -> -   generate_random_characters -   ( -      (MaxPlayerID - 1), -      CharactersPerPlayer, -      CharactersPerPlayer, -      TotalCharacterCount, -      Battlemap, -      ForbiddenLocations, -      Result -   ); -generate_random_characters -( -   MaxPlayerID, -   PlayerCharacterCount, -   CharactersPerPlayer, -   TotalCharacterCount, -   Battlemap, -   ForbiddenLocations, -   Result -) -> -   NewCharacter = -      bm_character:random -      ( -         TotalCharacterCount, -         list_to_binary(integer_to_list(MaxPlayerID)), -         bm_battlemap:get_width(Battlemap), -         bm_battlemap:get_height(Battlemap), -         ForbiddenLocations -      ), -   Character = -      case MaxPlayerID of -         0 -> bm_character:set_is_active(true, NewCharacter); -         _ -> NewCharacter -      end, - -   generate_random_characters -   ( -      MaxPlayerID, -      (PlayerCharacterCount - 1), -      CharactersPerPlayer, -      (TotalCharacterCount + 1), -      Battlemap, -      [bm_character:get_location(Character)|ForbiddenLocations], -      [Character|Result] -   ). +do_remote_operation (Op, Params) -> +   rpc:call(get_db_node(), db_access, Op, Params).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate_db () -> 'ok'. -generate_db () -> -   BattlemapWidth = sh_roll:between(16, 64), -   BattlemapHeight = sh_roll:between(16, 64), -   Battlemap = bm_battlemap:random(0, BattlemapWidth, BattlemapHeight), -   Characters = generate_random_characters(1, 8, 8, 0, Battlemap, [], []), -   PlayersAsList = [bm_player:new(<<"0">>), bm_player:new(<<"1">>)], -   Battle = bm_battle:new(<<"0">>, PlayersAsList, Battlemap, Characters), - -   {atomic, ok} = -      rpc:call -      ( -         get_db_node(), -         storage_access, -         insert, -         [battle_db, <<"0">>, any, Battle] -      ), +-spec insert (atom(), any(), sh_db_user:permission(), any()) -> 'ok'. +insert (DB, ObjectID, Permission, Value) -> +   {atomic, _} = do_remote_operation(insert, [DB, ObjectID, Permission, Value]), +   io:format +   ( +      "~nsh_database:insert(~p) -> ok.~n", +      [{DB, ObjectID, Permission, Value}] +   ),     ok.  -spec fetch (atom(), any()) -> ({'ok', any()} | 'not_found').  fetch (DB, ObjectID) -> -   {atomic, Reply} = -      rpc:call(get_db_node(), storage_access, read, [DB, ObjectID]), -   io:format("~ndb_shim:fetch(~p) -> ~p.~n", [{DB, ObjectID}, Reply]), +   {atomic, Reply} = do_remote_operation(read, [DB, ObjectID]), +   io:format("~nsh_database:fetch(~p) -> ~p.~n", [{DB, ObjectID}, Reply]),     Reply.  -spec commit (sh_db_query:type()) -> 'ok'.  commit (Query) -> -   {atomic, ok} = rpc:call(get_db_node(), storage_access, query, [Query]), -   io:format("~ndb_shim:commit(~p) -> ok.~n", [Query]), +   {atomic, ok} = do_remote_operation(query, [Query]), +   io:format("~nsh_database:commit(~p) -> ok.~n", [Query]),     ok. diff --git a/src/shared/io/sh_timed_caches_manager.erl b/src/shared/io/sh_timed_caches_manager.erl index 7921552..ea92c08 100644 --- a/src/shared/io/sh_timed_caches_manager.erl +++ b/src/shared/io/sh_timed_caches_manager.erl @@ -140,7 +140,7 @@ handle_info(_, State) ->  %%%% Interface Functions  start () -> -   gen_server:start(timed_caches_manager, [], []). +   gen_server:start(?MODULE, [], []).  new_cache (ManagerPid, DB, Heir) ->     gen_server:cast(ManagerPid, {add, DB, Heir}). | 


