Indiefreaks.Xna.Sessions.Lidgren.LidgrenSession.EndFind C# (CSharp) Method

EndFind() static private method

static private EndFind ( IAsyncResult result ) : List
result IAsyncResult
return List
        internal static List<LidgrenAvailableSession> EndFind(IAsyncResult result)
        {
            var availableSessions = new List<LidgrenAvailableSession>();

            try
            {
                var asyncResult = (AsyncResult) result;

                result.AsyncWaitHandle.WaitOne();

                if (asyncResult.AsyncDelegate is AsynchronousFind)
                    availableSessions.AddRange(((AsynchronousFind) asyncResult.AsyncDelegate).EndInvoke(result));
            }
            finally
            {
                result.AsyncWaitHandle.Close();
            }

            return availableSessions;
        }

Usage Example

Exemplo n.º 1
0
        private void OnLidgrenSessionsFound(IAsyncResult ar)
        {
            var foundSessions = new List <AvailableSession>(LidgrenSession.EndFind(ar));

            // cleanup the temp session, this might could be reused.
            CurrentSession.EndSession(); // not sure if this is needed
            CurrentSession = null;

            OnSessionsFound(foundSessions);
        }
All Usage Examples Of Indiefreaks.Xna.Sessions.Lidgren.LidgrenSession::EndFind