Switched index array storage to class container
This commit is contained in:
		
							parent
							
								
									bfbeea6458
								
							
						
					
					
						commit
						d97ca0f3cb
					
				
							
								
								
									
										20
									
								
								src/Ratchet/WebSocket/ConnContext.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/Ratchet/WebSocket/ConnContext.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					namespace Ratchet\WebSocket;
 | 
				
			||||||
 | 
					use Ratchet\RFC6455\Messaging\MessageBuffer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ConnContext {
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @var \Ratchet\WebSocket\WsConnection
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public $connection;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @var \Ratchet\RFC6455\Messaging\MessageBuffer;
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public $streamer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function __construct(WsConnection $conn, MessageBuffer $streamer) {
 | 
				
			||||||
 | 
					        $this->connection = $conn;
 | 
				
			||||||
 | 
					        $this->streamer   = $streamer;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -115,7 +115,7 @@ class WsServer implements HttpServerInterface {
 | 
				
			|||||||
            $this->ueFlowFactory
 | 
					            $this->ueFlowFactory
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->connections->attach($conn, [$wsConn, $streamer]);
 | 
					        $this->connections->attach($conn, new ConnContext($wsConn, $streamer));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->delegate->onOpen($wsConn);
 | 
					        return $this->delegate->onOpen($wsConn);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -129,7 +129,7 @@ class WsServer implements HttpServerInterface {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $context = $this->connections[$from];
 | 
					        $context = $this->connections[$from];
 | 
				
			||||||
        $context[1]->onData($msg);
 | 
					        $context->streamer->onData($msg);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -140,7 +140,7 @@ class WsServer implements HttpServerInterface {
 | 
				
			|||||||
            $context = $this->connections[$conn];
 | 
					            $context = $this->connections[$conn];
 | 
				
			||||||
            $this->connections->detach($conn);
 | 
					            $this->connections->detach($conn);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $this->delegate->onClose($context[0]);
 | 
					            $this->delegate->onClose($context->conn);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -150,7 +150,7 @@ class WsServer implements HttpServerInterface {
 | 
				
			|||||||
    public function onError(ConnectionInterface $conn, \Exception $e) {
 | 
					    public function onError(ConnectionInterface $conn, \Exception $e) {
 | 
				
			||||||
        if ($this->connections->contains($conn)) {
 | 
					        if ($this->connections->contains($conn)) {
 | 
				
			||||||
            $context = $this->connections[$conn];
 | 
					            $context = $this->connections[$conn];
 | 
				
			||||||
            $this->delegate->onError($context[0], $e);
 | 
					            $this->delegate->onError($context->connection, $e);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            $conn->close();
 | 
					            $conn->close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -196,7 +196,7 @@ class WsServer implements HttpServerInterface {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            foreach ($this->connections as $key => $conn) {
 | 
					            foreach ($this->connections as $key => $conn) {
 | 
				
			||||||
                $context = $this->connections[$conn];
 | 
					                $context = $this->connections[$conn];
 | 
				
			||||||
                $wsConn  = $context[0];
 | 
					                $wsConn  = $context->connection;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                $wsConn->send($lastPing);
 | 
					                $wsConn->send($lastPing);
 | 
				
			||||||
                $pingedConnections->attach($wsConn);
 | 
					                $pingedConnections->attach($wsConn);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user