Esempio n. 1
0
 private void CreatePeerInternal(object state)
 {
     try
     {
         InitRequest initRequest = (InitRequest)state;
         PeerBase    pObj        = this.CreatePeer(initRequest);
         if (pObj == null)
         {
             initRequest.PhotonPeer.DisconnectClient();
         }
         else
         {
             initRequest.PhotonPeer.SetUserData(pObj);
             this.IncrementPeerCounter();
             byte[]     data   = initRequest.Protocol.SerializeInitResponse();
             SendResult result = (SendResult)initRequest.PhotonPeer.Send(data, MessageReliablity.Flush | MessageReliablity.Reliable, 0, pObj.MessageContentType);
             if (log.IsDebugEnabled)
             {
                 log.DebugFormat("OnInit - response sent to ConnId {0} with SendResult {1}", new object[] { initRequest.PhotonPeer.GetConnectionID(), result });
             }
             if (operationDataLogger.IsDebugEnabled)
             {
                 operationDataLogger.DebugFormat("OnInit - ConnID={0}, send data=({1} bytes) {2}", new object[] { initRequest.PhotonPeer.GetConnectionID(), data.Length, BitConverter.ToString(data) });
             }
         }
     }
     catch (Exception exception)
     {
         log.Error(exception);
     }
 }
Esempio n. 2
0
 public static void SimulateReceive(PeerBase peer, byte[] data, SendParameters sendParameters)
 {
     ((IManagedPeer)peer).Application_OnReceive(data, sendParameters, 0, 0, 0);
 }
Esempio n. 3
0
 /// <summary>
 ///  This method simlates a disconnect.
 /// This method is useful for testing.
 /// </summary>
 /// <param name="peer"> The disconnected peer.</param>
 public static void SimulateDisconnect(PeerBase peer)
 {
     ((IManagedPeer)peer).Application_OnDisconnect(DisconnectReason.ClientDisconnect, string.Empty, 0, 0, 0);
 }
Esempio n. 4
0
 /// <summary>
 /// Invokes <see cref="M:Photon.SocketServer.PeerBase.OnOperationRequest(Photon.SocketServer.OperationRequest,Photon.SocketServer.SendParameters)"/>.
 /// This method is useful for testing.
 /// </summary>
 /// <param name="peer"> The peer.</param>
 /// <param name="operationRequest">The operation request.</param>
 /// <param name="sendParameters">The send Parameters.</param>
 public static void InvokeOnOperationRequest(PeerBase peer, OperationRequest operationRequest, SendParameters sendParameters)
 {
     peer.RequestFiber.Enqueue(() => peer.OnOperationRequest(operationRequest, sendParameters));
 }