úÎP/GÆ@      !"#$%&'()*+,-./0123456789:;<=>?(c) Tim Watson 2012 - 2013BSD3 (see the file LICENSE)%Tim Watson <watson.timothy@gmail.com> experimental#non-portable (requires concurrency)None*+0357;GN,The result of an await operation.The name was registered$The server was unreachable (or died)The operation timed out@JA cast message used to atomically give a name/key away to another process.0The (return) value of an attempted registration.)The given key was registered successfullyThe key was already registered©This message is delivered to processes which are monioring a registry key. The opaque monitor reference will match (i.e., be equal to) the reference returned from the monitor function, which the  & describes the change that took place. 2Provides information about a key monitoring event.>An opaque reference used for matching monitoring events. See  for more details.=Used to describe a subset of monitoring events to listen for.)receive an event when a key is registered+receive an event when a key is unregistered+receive an event when a key's owner changes+receive an event when a key's lease expires)The result of an un-registration attempt.+The given key was successfully unregistered7The given key was invalid and could not be unregistered6The given key was not found (i.e., was not registered)]A phantom type, used to parameterise registry startup with the required key and value types.!The !ˆ class describes types that can be used as registry keys. The constraints ensure that the key can be stored and compared appropriately."bA registered key. Keys can be mapped to names or (process-local) properties in the registry. The $Z holds the key's value (e.g., a string or similar simple data type, which must provide a ! instance), whilst the % and &/ describe the key's intended use and ownership.'CDescribes how a key will be used - for storing names or properties.(2the key will refer to a name (i.e., named process)).the key will refer to a (per-process) property,:Associate the calling process with the given (unique) key.-…Atomically transfer a (registered) name to another process. Has no effect if the name does is not registered to the calling process!.Associate the given (non-unique) property with the current process. If the property already exists, it will be overwritten with the new value./'Register the item at the given address.0Register an item at the given address and associate it with a value. If the property already exists, it will be overwritten with the new value.14Un-register a (unique) name for the calling process.2ALookup the process identified by the supplied key. Evaluates to Nothing if the key is not registered.3LLookup the value of a named property for the calling process. Evaluates to NothingP if the property (key) is not registered. If the assignment to a value of type v~ does not correspond to the type of properties stored by the registry, the calling process will exit with the reason set to InvalidPropertyType.4%Obtain a list of all registered keys.5%Monitor changes to the supplied name.6/Monitor changes to the supplied (property) key.7RLow level monitor operation. For the given key, set up a monitor filtered by any  entries that are supplied.8 Remove a previously set monitor.9œAwait registration of a given key. This function will subsequently block the evaluating process until the key is registered and a registration event is dispatched to the caller's mailbox.::Await registration of a given key, but give up and return  AwaitTimeoutH if registration does not take place within the specified time period (delay).=bMonadic left fold over all registered names/keys. The fold takes place in the evaluating process.>Evaluate a query on a , in the calling process.?WTests whether or not the supplied key is registered, evaluated in the calling process.¥ABCDEFGHIJKLMNOPQRSTUVWX@YZ[ \]^_`abcdefghij !"#$%&'()*+,-./0123456789:;<=>?klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€@  !"#$%&'()*+,-./0123456789:;<=>?@'()"#$%&! *+,./0-1234=?>;<75689:   jABCDEFGHIJKLMNOPQRSTUVWX@YZ[  \]^_`abcdefghij !"#$%&'()*+,-./0123456789:;<=>?klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥       !""#$%&'()*+,-./0123456789:;<=>?@ABBCDEFGGHIJKLMNNOPQQRR?SSTUUVVWWXYZ[\]]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜distr_54R3zXZuj80GWZ47Km58Np$Control.Distributed.Process.Registry SearchHandle AwaitResultRegisteredNameServerUnreachable AwaitTimeoutRegisterKeyReply RegisteredOkAlreadyRegisteredRegistryKeyMonitorNotificationKeyUpdateEvent KeyRegisteredownerKeyUnregisteredKeyLeaseExpired KeyOwnerDied diedReasonKeyOwnerChanged previousOwnernewOwnerRegKeyMonitorRefKeyUpdateEventMaskOnKeyRegisteredOnKeyUnregisteredOnKeyOwnershipChangeOnKeyLeaseExpiryUnregisterKeyReply UnregisterOkUnregisterInvalidKeyUnregisterKeyNotFoundRegistry registryPidKeyableKey keyIdentitykeyTypekeyScopeKeyType KeyTypeAliasKeyTypePropertystartrunaddName giveAwayName addProperty registerName registerValueunregisterName lookupNamelookupPropertyregisteredNames monitorName monitorPropmonitor unmonitorawait awaitTimeoutfindByPropertyfindByPropertyValue foldNames queryNamesmember GiveAwayNameRSgetRSSHashMap QueryDirectQueryDirectNamesQueryDirectPropertiesQueryDirectValuesState_names _properties _monitors_registeredPids_listeningPids_monitorIdCountKMRefrefmask UnmonitorReq MonitorReqRegisterKeyRequnRefUnregisterKeyReq RegNamesReqInvalidPropertyTypeLookupPropReply PropFound PropNotFound LookupPropReqPropReq LookupKeyReqserverDefinitionprocessDefinition handleQueryhandleRegisterNamehandleRegisterPropertyCRhandleRegisterPropertydoRegisterPropertyhandleLookupPropertyhandleUnregisterNamehandleGiveAwayNamehandleMonitorReqhandleUnmonitorReqhandleRegNamesLookuphandleMonitorSignalensureMonitorednotifySubscribersmaskForfindNamenames propertiesmonitorsregisteredPids listeningPidsmonitorIdCount$fFoldableSearchHandle$fFunctorSearchHandle$fBinarySHashMap$fBinaryQueryDirect $fEqKMRef$fHashableKMRef$fBinaryAwaitResult$fBinaryUnmonitorReq$fBinaryMonitorReq$fBinaryGiveAwayName$fBinaryRegisterKeyReply$fBinaryRegisterKeyReq&$fBinaryRegistryKeyMonitorNotification$fBinaryKeyUpdateEvent$fResolvableRegKeyMonitorRef$fHashableRegKeyMonitorRef$fBinaryRegKeyMonitorRef$fHashableKeyUpdateEventMask$fBinaryKeyUpdateEventMask$fBinaryUnregisterKeyReply$fBinaryUnregisterKeyReq$fBinaryRegNamesReq$fBinaryInvalidPropertyType$fBinaryLookupPropReply$fBinaryLookupPropReq$fBinaryLookupKeyReq$fLinkableRegistry$fResolvableRegistry$fBinaryRegistry $fKeyablea $fHashableKey $fBinaryKey$fHashableKeyType$fBinaryKeyType