BuiltinMemoryProtocol Class |
Namespace: Demo3D.PLC.Comms.Builtin
public class BuiltinMemoryProtocol : Protocol
The BuiltinMemoryProtocol type exposes the following members.
| Name | Description | |
|---|---|---|
| Channels |
List of all channels.
(Inherited from Protocol.) | |
| DefaultChannel |
The default channel.
(Inherited from Protocol.) | |
| Name |
The protocol name.
(Inherited from Protocol.) | |
| Required |
Required protocols and services.
(Inherited from Protocol.) | |
| SupportedServices |
Returns a list of supported service types. These are the services that ProtocolSocket.FindService can return.
(Inherited from Protocol.) |
| Name | Description | |
|---|---|---|
| AddChannel |
Adds a channel.
(Inherited from Protocol.) | |
| CreateCanonicalAddress | Returns the full address. Eg add in a default port number. Should return an address that uniquely identifies the peer. The address should explicitly contain any information required to connect (including any defaults), but exclude any connection parameters, routing information, etc, unless required to identify the peer. Ambiguous parts of the address should be standardised - eg where information is case insensitive, it should be converted to lower case. Any parts of the address not required should be removed. (The framework will automatically convert hostnames to an appropriate IP address, and will set the scheme correctly, so no need to modify those parts.) | |
| CreateDownStreamAddress |
Creates the downstream address given an upstream address and a downstream protocol.
Normally this does not need to be overridden, but there are some cases where it's required.
For example, the downstream address returned by COTP for "cotp://host/tsap" would be "tpkt://host:102".
Or you can return null to stop the protocol stack from building downstream protocol instances. You might
do this if you want to take control of building the downstream protocol instances, or nor build them at all.
(Inherited from Protocol.) | |
| Dispose |
Releases all protocol resources.
(Inherited from Protocol.) | |
| FindChannel |
Returns the named channel, or null.
(Inherited from Protocol.) | |
| NewInstance |
Creates a new instance of the protocol.
(Overrides ProtocolNewInstance(ProtocolHead, ProtocolAddress).) | |
| RegisterService |
Registers a service.
(Inherited from Protocol.) | |
| RemoveChannel |
Removes a channel.
(Inherited from Protocol.) | |
| SupportsService |
Returns whether a particular service is supported.
(Inherited from Protocol.) | |
| ToString |
Returns the name of the protocol.
(Inherited from Protocol.) | |
| UnregisterService |
Unregisters a service.
(Inherited from Protocol.) |
Must be marked with the ProtocolAddressEditorAttribute in order for NetServer to show this protocol in its drop-down. NetServer only looks for protocols with this attribute.
If you need additional information in the protocol address in order to identify a server, then you should also set Editor to an instance of a public class. Your editor class must inherit from ProtocolAddressPropertyBagEditor. Public properties on your editor class will be displayed in the Add Server Wizard and in the Address properties of your Tag Server. See BuiltinTagProtocol and BuiltinTagAddress for an example.
This example is based on NetServer and the IDirectMemoryAccessService. See BuiltinTagProtocol for an equivalent example INotifyDirectTagAccessService.