Exemplo n.º 1
0
        public void Broadcast(RemoteEvent.Evt evt, Error error, ServerEventArgs globalArgs, params RemoteArg[] args)
        {
            RemoteEvent remoteEvent = new RemoteEvent(evt, error, args);

            byte[] result = m_serializer.Serialize(remoteEvent);
            if (globalArgs.Targets != null && globalArgs.Targets.Length > 0)
            {
                Broadcast(globalArgs.Targets, result);
            }
            else
            {
                BroadcastAllExcept(globalArgs.Except, result);
            }
        }
Exemplo n.º 2
0
        protected void Send(RemoteEvent.Evt evt, Error error, Guid target, params RemoteArg[] args)
        {
            RemoteEvent remoteEvent = new RemoteEvent(evt, error, args);

            byte[] data = m_serializer.Serialize(remoteEvent);

            lock (m_protocolToClientId)
            {
                lock (m_outgoingMessages)
                {
                    Guid         clientId = target;
                    ILowProtocol protocol;

                    if (m_clientIdToProtocol.TryGetValue(clientId, out protocol))
                    {
                        EnqueueSend(protocol, data);
                    }
                }
            }
        }