protected void Call(string destination, string method, byte[] param, SSContext context, RPCCallback cb) { int serviceId = ServiceSlots.GetInstance().Name2Id(destination); Call(serviceId, method, param, context, cb); }
protected void RemoteCall(string remoteNode, string service, string method, byte[] param, SSContext context, RPCCallback cb) { ClusterClientRequest request = new ClusterClientRequest(); request.remoteNode = remoteNode; request.remoteService = service; request.method = method; request.param = Convert.ToBase64String(param); Call("clusterClient", "Request", request.encode(), context, cb); }
protected void Call(int destination, string method, byte[] param, SSContext context, RPCCallback cb) { if (m_totalServiceSession >= Int32.MaxValue) { m_totalServiceSession = 0; } int session = ++m_totalServiceSession; PushToService(destination, method, param, MessageType.ServiceRequest, session); RPCResponseContext responseCallback = new RPCResponseContext(); responseCallback.Context = context; responseCallback.Callback = cb; m_responseCallbacks.Add(session, responseCallback); }