Example #1
0
        internal Listener(ServerAssociationParameters parameters, StartAssociation acceptor)
        {
            ListenerInfo info = new ListenerInfo();

            info.Parameters    = parameters;
            info.StartDelegate = acceptor;

            _applications.Add(parameters.CalledAE, info);

            _ipEndPoint = parameters.LocalEndPoint;
        }
Example #2
0
        public static bool Listen(ServerAssociationParameters parameters, StartAssociation acceptor)
        {
			lock (_syncLock)
			{
				Listener theListener;
				if (_listeners.TryGetValue(parameters.LocalEndPoint, out theListener))
				{

					ListenerInfo info = new ListenerInfo();

					info.StartDelegate = acceptor;
					info.Parameters = parameters;

					if (theListener._applications.ContainsKey(parameters.CalledAE))
					{
						Platform.Log(LogLevel.Error, "Already listening with AE {0} on {1}", parameters.CalledAE,
						             parameters.LocalEndPoint.ToString());
						return false;
					}

					theListener._applications.Add(parameters.CalledAE, info);
					Platform.Log(LogLevel.Info, "Starting to listen with AE {0} on existing port {1}", parameters.CalledAE,
					             parameters.LocalEndPoint.ToString());
				}
				else
				{
					theListener = new Listener(parameters, acceptor);
					if (!theListener.StartListening())
					{
						Platform.Log(LogLevel.Error, "Unexpected error starting to listen on {0}", parameters.LocalEndPoint.ToString());
						return false;
					}

					_listeners[parameters.LocalEndPoint] = theListener;
					theListener.StartThread();

					Platform.Log(LogLevel.Info, "Starting to listen with AE {0} on port {1}", parameters.CalledAE,
					             parameters.LocalEndPoint.ToString());
				}

				return true;
			}
        }
Example #3
0
        public static bool Listen(ServerAssociationParameters parameters, StartAssociation acceptor)
        {
            lock (_syncLock)
            {
                Listener theListener;
                if (_listeners.TryGetValue(parameters.LocalEndPoint, out theListener))
                {
                    ListenerInfo info = new ListenerInfo();

                    info.StartDelegate = acceptor;
                    info.Parameters    = parameters;

                    if (theListener._applications.ContainsKey(parameters.CalledAE))
                    {
                        LogAdapter.Logger.ErrorWithFormat("Already listening with AE {0} on {1}", parameters.CalledAE,
                                                          parameters.LocalEndPoint.ToString());
                        return(false);
                    }

                    theListener._applications.Add(parameters.CalledAE, info);
                    LogAdapter.Logger.InfoWithFormat("Starting to listen with AE {0} on existing port {1}", parameters.CalledAE,
                                                     parameters.LocalEndPoint.ToString());
                }
                else
                {
                    theListener = new Listener(parameters, acceptor);
                    if (!theListener.StartListening())
                    {
                        LogAdapter.Logger.ErrorWithFormat("Unexpected error starting to listen on {0}", parameters.LocalEndPoint.ToString());
                        return(false);
                    }

                    _listeners[parameters.LocalEndPoint] = theListener;
                    theListener.StartThread();

                    LogAdapter.Logger.InfoWithFormat("Starting to listen with AE {0} on port {1}", parameters.CalledAE,
                                                     parameters.LocalEndPoint.ToString());
                }

                return(true);
            }
        }
Example #4
0
 /// <summary>
 /// Start listening for incoming associations.
 /// </summary>
 /// <remarks>
 /// <para>
 /// Note that StartListening can be called multiple times with different association parameters.
 /// </para>
 /// </remarks>
 /// <param name="parameters">The parameters to use when listening for associations.</param>
 /// <param name="acceptor">A delegate to be called to return a class instance that implements
 /// the <see cref="IDicomServerHandler"/> interface to handle an incoming association.</param>
 /// <returns><i>true</i> on success, <i>false</i> on failure</returns>
 public static bool StartListening(ServerAssociationParameters parameters, StartAssociation acceptor)
 {
     return(Listener.Listen(parameters, acceptor));
 }
Example #5
0
        internal Listener(ServerAssociationParameters parameters, StartAssociation acceptor)
        {
            ListenerInfo info = new ListenerInfo();

            info.Parameters = parameters;
            info.StartDelegate = acceptor;

            _applications.Add(parameters.CalledAE, info);

            _ipEndPoint = parameters.LocalEndPoint;
        }
Example #6
0
 /// <summary>
 /// Start listening for incoming associations.
 /// </summary>
 /// <remarks>
 /// <para>
 /// Note that StartListening can be called multiple times with different association parameters.
 /// </para>
 /// </remarks>
 /// <param name="parameters">The parameters to use when listening for associations.</param>
 /// <param name="acceptor">A delegate to be called to return a class instance that implements
 /// the <see cref="IDicomServerHandler"/> interface to handle an incoming association.</param>
 /// <returns><i>true</i> on success, <i>false</i> on failure</returns>
 public static bool StartListening(ServerAssociationParameters parameters, StartAssociation acceptor)
 {
     return Listener.Listen(parameters, acceptor);
 }