Click or drag to resize

BuiltinMemoryProtocol Class

The Built-in Memory Server Protocol.
Inheritance Hierarchy
SystemObject
  Demo3D.NetProtocol
    Demo3D.PLC.Comms.BuiltinBuiltinMemoryProtocol

Namespace:  Demo3D.PLC.Comms.Builtin
Assembly:  PLC (in PLC.dll) Version: 15.0.2.11458
Syntax
C#
public class BuiltinMemoryProtocol : Protocol

The BuiltinMemoryProtocol type exposes the following members.

Properties
  NameDescription
Public propertyChannels
List of all channels.
(Inherited from Protocol.)
Public propertyDefaultChannel
The default channel.
(Inherited from Protocol.)
Public propertyName
The protocol name.
(Inherited from Protocol.)
Public propertyRequired
Required protocols and services.
(Inherited from Protocol.)
Public propertySupportedServices
Returns a list of supported service types. These are the services that ProtocolSocket.FindService can return.
(Inherited from Protocol.)
Top
Methods
  NameDescription
Public methodAddChannel
Adds a channel.
(Inherited from Protocol.)
Protected methodCreateCanonicalAddress

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.)

(Inherited from Protocol.)
Protected methodCreateDownStreamAddress
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.)
Public methodDispose
Releases all protocol resources.
(Inherited from Protocol.)
Public methodFindChannel
Returns the named channel, or null.
(Inherited from Protocol.)
Protected methodNewInstance
Creates a new instance of the protocol.
(Overrides ProtocolNewInstance(ProtocolHead, ProtocolAddress).)
Public methodRegisterService
Registers a service.
(Inherited from Protocol.)
Public methodRemoveChannel
Removes a channel.
(Inherited from Protocol.)
Public methodSupportsService
Returns whether a particular service is supported.
(Inherited from Protocol.)
Public methodToString
Returns the name of the protocol.
(Inherited from Protocol.)
Public methodUnregisterService
Unregisters a service.
(Inherited from Protocol.)
Top
Remarks

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.

See Also