private void OnProcessResponse(SSContext context, string method, byte[] param, RPCError error) { SkynetMessageSender_OnProcessRequestResponse response = new SkynetMessageSender_OnProcessRequestResponse(param); LoggerHelper.Info(m_serviceAddress, string.Format("skynet request_count:{0}", response.request_text)); }
private void RemoteSendDummyCallback(SSContext context, string method, byte[] param, RPCError error) { // Nothing to do }
private void HandleError(RPCError errorMessage) { string exceptionMessage = errorMessage != null ? errorMessage.ExceptionMessage : "Unknown error occured."; throw new Exception(exceptionMessage); }
private void DoRequestCallback(SSContext context, string method, byte[] param, RPCError error) { if (error == RPCError.OK) { TestServer_OnRequestResponse response = new TestServer_OnRequestResponse(param); LoggerHelper.Info(m_serviceAddress, string.Format("<<<<<<<<<<<<<<<<Response OK Time:{0} info:{1}", response.response_time, response.response_text)); Timeout(null, 10, DoRequest); } else { LoggerHelper.Info(m_serviceAddress, string.Format("<<<<<<<<<<<<<<<<Response Error code:{0} error text:{1}", (int)error, Encoding.ASCII.GetString(param))); } }
private void TransferCallback(SSContext context, string method, byte[] param, RPCError error) { if (error == RPCError.OK) { int tag = NetProtocol.GetInstance().GetTag("RPC"); RPCParam rpcParam = new RPCParam(); rpcParam.method = method; rpcParam.param = Convert.ToBase64String(param); int remoteSession = context.IntegerDict["RemoteSession"]; long connectionId = context.LongDict["ConnectionId"]; List<byte[]> bufferList = m_skynetPacketManager.PackSkynetResponse(remoteSession, tag, rpcParam.encode()); NetworkPacket rpcMessage = new NetworkPacket(); rpcMessage.Type = SocketMessageType.DATA; rpcMessage.TcpObjectId = m_tcpObjectId; rpcMessage.Buffers = bufferList; rpcMessage.ConnectionId = connectionId; NetworkPacketQueue.GetInstance().Push(rpcMessage); } else { int remoteSession = context.IntegerDict["RemoteSession"]; long connectionId = context.LongDict["ConnectionId"]; List<byte[]> bufferList = m_skynetPacketManager.PackErrorResponse(remoteSession, Encoding.ASCII.GetString(param)); NetworkPacket rpcMessage = new NetworkPacket(); rpcMessage.Type = SocketMessageType.DATA; rpcMessage.TcpObjectId = m_tcpObjectId; rpcMessage.Buffers = bufferList; rpcMessage.ConnectionId = connectionId; NetworkPacketQueue.GetInstance().Push(rpcMessage); LoggerHelper.Info(m_serviceAddress, string.Format("Service:ClusterServer Method:TransferCallback errorCode:{0} errorText:{1}", (int)error, Encoding.ASCII.GetString(param))); } }
private void OnBattleRequestCallback(SSContext context, string method, byte[] param, RPCError error) { int source = context.IntegerDict["source"]; int session = context.IntegerDict["session"]; if (error == RPCError.OK) { BattleTaskConsumer_OnBattleRequestResponse consumerResponse = new BattleTaskConsumer_OnBattleRequestResponse(param); BattleTaskDispatcher_OnBattleRequestResponse dispatcherResponse = new BattleTaskDispatcher_OnBattleRequestResponse(); dispatcherResponse.method = "OnBattleRequest"; dispatcherResponse.param = consumerResponse.param; DoResponse(source, dispatcherResponse.method, dispatcherResponse.encode(), session); } else { DoError(source, session, error, Encoding.ASCII.GetString(param)); } }
private void SendRequestCallback(SSContext context, string method, byte[] param, RPCError error) { if (error == RPCError.OK) { BattleTaskConsumer_OnBattleRequestResponse response = new BattleTaskConsumer_OnBattleRequestResponse(param); LoggerHelper.Info(m_serviceAddress, string.Format("TestSender <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Response")); } else { LoggerHelper.Info(m_serviceAddress, Encoding.ASCII.GetString(param)); } }
private void RemoteResponseCallback(SSContext context, string method, byte[] param, RPCError error) { long connectionId = context.LongDict["ConnectionId"]; int remoteSession = context.IntegerDict["RemoteSession"]; int sourceSession = context.IntegerDict["SourceSession"]; int source = context.IntegerDict["Source"]; string sourceMethod = context.StringDict["Method"]; if (error == RPCError.OK) { DoResponse(source, sourceMethod, param, sourceSession); } else { DoError(source, sourceSession, error, "RemoteCall Error"); } Dictionary <int, WaitForResponseRequest> waitForResponseDict = null; bool isExist = m_conn2sessions.TryGetValue(connectionId, out waitForResponseDict); if (isExist) { waitForResponseDict.Remove(remoteSession); } }