Beispiel #1
0
        public void AcceptLink(Guid processId, LibraryId requestingLibraryId)
        {
            if (LinkedLibraries.Contains(requestingLibraryId))
            {
                return;
            }
            if (!ReceivedLinkRequests.Contains(requestingLibraryId))
            {
                return;
            }

            RaiseEvent(new LinkAccepted(processId, Id, requestingLibraryId.Id));
        }
Beispiel #2
0
        public void ReceiveLinkRequest(Guid processId, LibraryId sourceLibraryId)
        {
            if (ReceivedLinkRequests.Contains(sourceLibraryId))
            {
                return;
            }
            if (SentLinkRequests.Contains(sourceLibraryId))
            {
                return;
            }
            if (LinkedLibraries.Contains(sourceLibraryId))
            {
                return;
            }

            RaiseEvent(new LinkRequestReceived(processId, Id, sourceLibraryId.Id));
        }
Beispiel #3
0
        public void RequestLink(Guid processId, LibraryId desinationLibraryId)
        {
            if (SentLinkRequests.Contains(desinationLibraryId))
            {
                return;
            }
            if (ReceivedLinkRequests.Contains(desinationLibraryId))
            {
                return;
            }
            if (LinkedLibraries.Contains(desinationLibraryId))
            {
                return;
            }

            RaiseEvent(new LinkRequested(processId, Id, desinationLibraryId.Id));
        }
Beispiel #4
0
 protected virtual void When(LinkAccepted @event)
 {
     ReceivedLinkRequests.Remove(new LibraryId(@event.RequestingLibraryId));
     LinkedLibraries.Add(new LibraryId(@event.RequestingLibraryId));
 }
Beispiel #5
0
 protected virtual void When(LinkRequestReceived @event)
 {
     ReceivedLinkRequests.Add(new LibraryId(@event.RequestingLibraryId));
 }