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; }