# Relay class

Namespace: [Grasshopper2.Parameters.Special](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.parameters.special.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
[IoId("00000000-d237-4592-bb5c-682ce98c9dce")]
[Author("DavidR")]
public sealed class Relay : Parameter, IRemovalAware
```

## Constructors

- [Relay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/ctor.md): (2 overloads)

## Properties

- [DisplayName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/displayname.md)
- [Frozen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/frozen.md): Gets or sets whether this relay is currently frozen. Frozen relays do not expire their recipients and they 'remember' the last computed solution results.
- [FrozenCachedData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/frozencacheddata.md): Gets the cached data this relay will use while it's frozen.
- [FrozenDataIsStale](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/frozendataisstale.md): Gets whether the currently cached frozen data is stale and needs to be recalculated when this relay is thawed.
- [TypeAssistantWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/typeassistantweak.md)

## Methods

- [AppendToInputPanel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/appendtoinputpanel.md)
- [CollectFromSources](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/collectfromsources.md)
- [CreateAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/createattributes.md)
- [ExpireAllRecipients](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/expireallrecipients.md)
- [IRemovalAware.PrepareForRemoval](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/grasshopper2-doc-iremovalaware-prepareforremoval.md)
- [ResolveDisplayName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/resolvedisplayname.md): Determine the displat name from first principles, and cause all upstream and downstream relays to also resolve their name.
- [SafeDisconnect](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/safedisconnect.md): Safely disconnect this relay and reconnect all wires on either side.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.relay/store.md)

## Inherited Members

- From [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md): [PersistentDataWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/persistentdataweak.md), [PresetsWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/presetsweak.md), [CollectFromPersistent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/collectfrompersistent.md), [CreateDisplayFromTree](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/createdisplayfromtree.md), [CreateEmptyTree](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/createemptytree.md), [LoadNewPersistentData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/loadnewpersistentdata.md), [PickManyItems](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/pickmanyitems.md), [PickOneItem](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/pickoneitem.md), [PopulateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/populatedisplay.md), [Set](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter/set.md)
- From [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md): [Access](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/access.md), [AccessVariability](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/accessvariability.md), [ColourOverride](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/colouroverride.md), [Connectivity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/connectivity.md), [Expression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expression.md), [ExpressionEnabled](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expressionenabled.md), [ExpressionText](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expressiontext.md), [FallbackName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/fallbackname.md), [HardMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/hardmetadata.md), [Inputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/inputs.md), [Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/kind.md), [ModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifiericons.md), [Modifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifiers.md), [Outputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/outputs.md), [PickRelatedItemsNomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/pickrelateditemsnomen.md), [PostProcessInputTrees](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/postprocessinputtrees.md), [Requirement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/requirement.md), [SoftMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/softmetadata.md), [TypeFlavour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/typeflavour.md), [ColourOverrideModified](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/colouroverridemodified.md), [AppendCleaningModifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendcleaningmodifiers.md), [AppendCustomModifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendcustommodifiers.md), [AppendDataElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appenddataelements.md), [AppendExpressionModifier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendexpressionmodifier.md), [AppendModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendmodifiericons.md), [AppendOrderingModifierElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendorderingmodifierelements.md), [AppendTopologyModifierElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendtopologymodifierelements.md), [AppendVariableAccessElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendvariableaccesselements.md), [ClearModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/clearmodifiericons.md), [ComputeInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/computeinternal.md), [CreateValueControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/createvaluecontrol.md), [EditMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/editmetadata.md), [EditPersistentValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/editpersistentvalues.md), [ExpireReferences](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expirereferences.md), [GetAllSourceTrees](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/getallsourcetrees.md), [ModifyAndProcessResult](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifyandprocessresult.md), [OverrideAccess](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/overrideaccess.md), [PickRelatedItems](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/pickrelateditems.md), [ProcessResult](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/processresult.md), [VolatileDataDescription](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/volatiledatadescription.md)
- From [ActiveObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject.md): [DisplayCache](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaycache.md), [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/state.md), [Compute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/compute.md), [DisplayBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaybounds.md), [DisplayFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displayfaces.md), [DisplayWires](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaywires.md), [Expire](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/expire.md), [UpdateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/updatedisplay.md)
- From [DocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject.md): [Activity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activity.md), [Attributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/attributes.md), [ChildrenObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/childrenobjects.md), [CustomValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/customvalues.md), [Display](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/display.md), [DisplayCapable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaycapable.md), [DisplayStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaystyle.md), [Document](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/document.md), [EntireFamily](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/entirefamily.md), [FoundingObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/foundingobject.md), [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/icon.md), [IconInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/iconinternal.md), [InstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceid.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/nomen.md), [Obsolete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/obsolete.md), [ParentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/parentobject.md), [Phase](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/phase.md), [ProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/progresspercentage.md), [Relevance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevance.md), [Selected](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selected.md), [Selection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selection.md), [SiblingObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/siblingobjects.md), [UserName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/username.md), [ActivityChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activitychanged.md), [AutosaveRequested](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/autosaverequested.md), [DisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaychanged.md), [DocumentChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/documentchanged.md), [Expired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expired.md), [InstanceIdChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceidchanged.md), [LayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/layoutchanged.md), [NameChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/namechanged.md), [RelevanceChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevancechanged.md), [SelectedChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selectedchanged.md), [AddUndoRecord](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/addundorecord.md), [AppendBakeInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendbakeinput.md), [AppendStateInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendstateinput.md), [AppendUserNameInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendusernameinput.md), [ChangeInstanceIds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/changeinstanceids.md), [ExpireDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expiredisplay.md), [GetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getcreationinfo.md), [GetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getmodificationinfo.md), [InvalidateExistingLayout](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/invalidateexistinglayout.md), [ModifyIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifyicon.md), [ModifyNameAndInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifynameandinfo.md), [OnDisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/ondisplaychanged.md), [OnExpired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onexpired.md), [OnLayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onlayoutchanged.md), [OverrideAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/overrideattributes.md), [RequestAutoSave](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/requestautosave.md), [SetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setcreationinfo.md), [SetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setmodificationinfo.md), [SetProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setprogresspercentage.md)
