12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 2017/2/26
- * Time: 下午7:36
- */
- class MsgStates extends Stackable
- {
- public function run() {
- }
- }
- class StatesHelper
- {
- static public function onIndex($states,$msg)
- {
- $type = $msg['type'];
- if($type == 'tags') {
- $states['tags'] = true;
- }
- }
- static public function fetch_state($tag)
- {
- global $gMessageStates;
- global $gMessageLock;
- Mutex::lock($gMessageLock);
- if(is_array($gMessageStates) && array_key_exists($tag,$gMessageStates))
- {
- $state = $gMessageStates[$tag];
- if($state == true) {
- $gMessageLock[$tag] = false;
- }
- }
- else {
- $gMessageLock[$tag] = false;
- $state = true;
- }
- Mutex::unlock($gMessageLock);
- return $state;
- }
- static public function init()
- {
- global $gMessageStates;
- global $gMessageLock;
- Mutex::lock($gMessageLock);
- $gMessageStates['tags'] = true;
- Mutex::unlock($gMessageLock);
- }
- }
- function handler_redis($redis, $chan, $msg)
- {
- Log::record("message: {$chan} -- {$msg}",Log::DEBUG);
- $cur_trd = Thread::getCurrentThread();
- $cur_trd->dispatch($chan,$msg);
- }
- function all_channels()
- {
- return array('ch_index');
- }
|