Ejemplo n.º 1
0
 public static void RemoveEmptyBroadcastContext(BroadcastContext broadcastContext)
 {
     lock (UsersCollection)
     {
         UsersCollection.Remove(broadcastContext.UserId);
     }
 }
Ejemplo n.º 2
0
 public AppConnection(AspNetWebSocketContext ctx, Guid userId, BroadcastContext broadcastContext)
 {
     UserId            = userId;
     socket            = ctx.WebSocket;
     _broadcastContext = broadcastContext;
     _cancellation.Token.Register(SendCloseAndDispose);
     GetDataTask = RecieveLoop();
 }
Ejemplo n.º 3
0
        //TODO: addSonnection method
        public static Task AddConnection(AspNetWebSocketContext ctx, Guid userId)
        {
            Task returnTask;

            lock (UsersCollection)
            {
                BroadcastContext broadcastContext;
                if (UsersCollection.TryGetValue(userId, out broadcastContext))
                {
                    returnTask = broadcastContext.AddAppContext(ctx, userId);
                }
                else
                {
                    broadcastContext = new BroadcastContext(userId);
                    returnTask       = broadcastContext.AddAppContext(ctx, userId);
                    UsersCollection.Add(userId, broadcastContext);
                }
            }

            return(returnTask);
        }