29 lines
921 B
Plaintext
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;
|
||
|
}
|
||
|
}
|
||
|
}
|