Ejemplo n.º 1
0
        public IPdu Accept(AcceptorPolicy policy, int timeout)
        {
            NDC.Push(name);
            try {
                IPdu rq = fsm.Read(timeout, b10);
                if (!(rq is AAssociateRQ)) {
                    return rq;
                }

                IPdu rp = policy.Negotiate((AAssociateRQ) rq);
                if (rp is AAssociateAC) {
                    fsm.Write((AAssociateAC) rp);
                }
                else {
                    fsm.Write((AAssociateRJ) rp);
                }
                return rp;
            }
            finally {
                NDC.Pop();
            }
        }
 /// <summary>
 /// Constructor
 /// </summary>
 public AcceptorPolicyService()
 {
     policy = assocFact.NewAcceptorPolicy();
     foreach (var associationSyntax in AS_UIDS){
         policy.PutPresentationContext(associationSyntax, TS_UIDS);
     }
     PatientRootRelationalQuery = true;
     StudyRootRelationalQuery = true;
     PatientRootRelationalRetrieve = true;
     StudyRootRelationalRetrieve = true;
     MaxNumOpsInvoked = 0;
 }