cache added to server side trader menu requests

This commit is contained in:
[VB]AWOL
2013-08-12 11:37:40 -05:00
parent 338fdc6d16
commit 6131bbcdba

View File

@@ -8,34 +8,36 @@ _retrader = [];
_clientID = owner _character; _clientID = owner _character;
diag_log ("HIVE: Menu Request by ClientID: "+ str(_clientID)); diag_log ("HIVE: Menu Request by ClientID: "+ str(_clientID));
_key = format["CHILD:399:%1:",_traderid]; // add cacheing
_data = "HiveEXT" callExtension _key; _retrader = call compile format["ServerTcache_%1;",_traderid];
diag_log "HIVE: Request sent"; if(isNil "_retrader") then {
_key = format["CHILD:399:%1:",_traderid];
_data = "HiveEXT" callExtension _key;
diag_log "HIVE: Request sent";
//Process result //Process result
_result = call compile format ["%1",_data]; _result = call compile format ["%1",_data];
_status = _result select 0; _status = _result select 0;
if (_status == "ObjectStreamStart") then { if (_status == "ObjectStreamStart") then {
_val = _result select 1; _val = _result select 1;
//Stream Objects //Stream Objects
diag_log ("HIVE: Commence Menu Streaming..."); diag_log ("HIVE: Commence Menu Streaming...");
for "_i" from 1 to _val do { for "_i" from 1 to _val do {
_data = "HiveEXT" callExtension _key; _data = "HiveEXT" callExtension _key;
_result = call compile format ["%1",_data]; _result = call compile format ["%1",_data];
_status = _result select 0; _status = _result select 0;
_retrader set [count _retrader,_result]; _retrader set [count _retrader,_result];
};
//diag_log ("HIVE: Loop "); //diag_log ("HIVE: Streamed " + str(_val) + " objects");
call compile format["ServerTcache_%1 = %2;",_tid,_retrader];
}; };
//diag_log ("HIVE: Streamed " + str(_val) + " objects");
}; };
// diag_log(_retrader);
diag_log(_retrader);
dayzTraderMenuResult = _retrader; dayzTraderMenuResult = _retrader;
if(!isNull _character) then { if(!isNull _character) then {
_clientID publicVariableClient "dayzTraderMenuResult"; _clientID publicVariableClient "dayzTraderMenuResult";
}; };
_retrader;