Interface IProtocolManager
- Namespace
- MAS.Communication
- Assembly
- MAS.Communication.dll
通讯协议实例管理器接口
public interface IProtocolManager : IDisposable
- Inherited Members
Properties
Count
获取当前已缓存的协议实例数量
int Count { get; }
Property Value
Methods
Contains(IProtocol)
判断指定协议实例是否已存在于缓存中
bool Contains(IProtocol protocol)
Parameters
protocolIProtocol协议实例
Returns
- bool
存在返回 true,否则返回 false
Contains(string)
判断指定实例标识是否已存在于缓存中
bool Contains(string instanceId)
Parameters
instanceIdstring实例标识
Returns
- bool
存在返回 true,否则返回 false
Get(string)
根据实例标识获取已缓存的协议实例
IProtocol? Get(string instanceId)
Parameters
instanceIdstring实例标识
Returns
- IProtocol
协议实例;不存在时返回 null
GetInstanceIds()
获取当前所有实例标识
IReadOnlyCollection<string> GetInstanceIds()
Returns
- IReadOnlyCollection<string>
实例标识集合快照
GetOrCreate(ICommunicationConfig)
根据配置获取协议实例;如果实例不存在,则创建并缓存
IProtocol GetOrCreate(ICommunicationConfig config)
Parameters
configICommunicationConfig通讯配置实例
Returns
- IProtocol
协议实例
Exceptions
- NotSupportedException
不支持的通讯配置类型时抛出
- ObjectDisposedException
对象已被释放时抛出
GetOrCreate<TProtocol>(ICommunicationConfig)
根据配置获取指定类型的协议实例;如果实例不存在,则创建并缓存
TProtocol GetOrCreate<TProtocol>(ICommunicationConfig config) where TProtocol : class, IProtocol
Parameters
configICommunicationConfig通讯配置实例
Returns
- TProtocol
指定类型的协议实例
Type Parameters
TProtocol协议类型
Exceptions
- InvalidCastException
创建的协议实例与指定类型不匹配时抛出
- NotSupportedException
不支持的通讯配置类型时抛出
- ObjectDisposedException
对象已被释放时抛出
Get<TProtocol>(string)
根据实例标识获取已缓存的指定类型协议实例
TProtocol? Get<TProtocol>(string instanceId) where TProtocol : class, IProtocol
Parameters
instanceIdstring实例标识
Returns
- TProtocol
指定类型协议实例;不存在或类型不匹配时返回 null
Type Parameters
TProtocol协议类型
Remove(IProtocol)
移除并释放指定实例
bool Remove(IProtocol protocol)
Parameters
protocolIProtocol通讯实例
Returns
- bool
移除成功返回 true,否则返回 false
Exceptions
- ObjectDisposedException
对象已被释放时抛出
Remove(string)
移除并释放指定标识的协议实例
bool Remove(string instanceId)
Parameters
instanceIdstring实例标识
Returns
- bool
移除成功返回 true,否则返回 false
Exceptions
- ObjectDisposedException
对象已被释放时抛出
Events
ProtocolCreated
当协议实例被创建时触发的事件
event EventHandler<ProtocolCreatedEventArgs>? ProtocolCreated
Event Type
ProtocolRemoved
当协议实例被移除时触发的事件
event EventHandler<ProtocolRemovedEventArgs>? ProtocolRemoved