Miranda protocol
From Erights
(Difference between revisions)
Kevin Reid (Talk | contribs) (categories) |
Kevin Reid (Talk | contribs) (add no-same-verb constraint) |
||
Line 12: | Line 12: | ||
* [[Miranda whenBroken|__whenBroken]](<var>reactor</var>) :[[void]] | * [[Miranda whenBroken|__whenBroken]](<var>reactor</var>) :[[void]] | ||
* [[Miranda whenMoreResolved|__whenMoreResolved]](<var>reactor</var>) :[[void]] | * [[Miranda whenMoreResolved|__whenMoreResolved]](<var>reactor</var>) :[[void]] | ||
+ | |||
+ | == Constraints on revision of this protocol == | ||
+ | |||
+ | No version of the Miranda protocol shall introduce a Miranda message which has the same verb but different arity as another Miranda message. '''Rationale:''' This ensures that if a plumbing object forwards messages, adding leading/trailing arguments, it will not invoke a Miranda method of the forwarding target. | ||
== See also == | == See also == |
Revision as of 18:38, 26 July 2011
Every normal object responds to these miranda messages; miranda methods are provided for them.
- __conformTo(guard :Guard) :any
- __getAllegedType() :TypeDesc
- __getPropertySlot(property :String) :Slot
- __optSealedDispatch(brand :any) :any
- __optUncall() :Portrayal
- __order(verb :String, args :List) :Tuple[any, any]
- __printOn(out :TextWriter) :void
- __reactToLostClient(problem) :void
- __respondsTo(verb :String, arity :int) :Boolean
- __whenBroken(reactor) :void
- __whenMoreResolved(reactor) :void
Constraints on revision of this protocol
No version of the Miranda protocol shall introduce a Miranda message which has the same verb but different arity as another Miranda message. Rationale: This ensures that if a plumbing object forwards messages, adding leading/trailing arguments, it will not invoke a Miranda method of the forwarding target.
See also
- MirandaMethods class in E-on-Java
- CapTP protocol documentation, section “Helper Messages”