singrdk/base/Contracts/Directory.Contracts/DirectoryServiceFeederContr...

29 lines
921 B
Plaintext

//This contract is used to pass root endpoints from the SIP directory service
//into the kernel, which then either uses them or passes them via the abi
//to another SIP.
using System;
using Microsoft.SingSharp;
using Microsoft.Singularity.Channels;
using Microsoft.Singularity.Directory;
namespace Microsoft.Singularity.Directory
{
public contract DirectoryServiceFeederContract : ServiceContract {
out message InitializationComplete();
in message GetNewDirectoryChannel();
out message AckNewChannel(DirectoryServiceContract.Imp:Start! imp);
out message NakNewChannel(ErrorCode error);
override state Start: one {
InitializationComplete! -> Ready;
}
state Ready: one {
GetNewDirectoryChannel? -> (AckNewChannel!
or NakNewChannel!) -> Ready;
}
}
}