UniPRT SDK  v1.0.0.0
com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T > 模板类 参考abstract
类 com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T > 继承关系图:
com.UniPRT.Sdk.Mgmt.IMgmtMsgListenerChannels< T >

Public 成员函数

 AMgmtListenerChannels ()
 
void ListenerChannelDisconnect (Channel< T > chnlToRemove)
 断开通道。断开的通道不会再接收讯息,但未来可以重新连接。 更多...
 
void ListenerChannelDisconnectPermanently (Channel< T > chnlToRemove)
 永久断开通道,使其无法重新连接。 更多...
 
Channel< T > ListenerChannelGetNew (int capacity, MgmtChannelFilterType chnlType, String solicitedMsgId)
 创建新通道供调用者监听完整的JSON讯息。 更多...
 
Channel< T > ListenerChannelGetNew (int capacity, MgmtChannelFilterType chnlType)
 
void ListenerChannelConnect (Channel< T > chnlToReconnect, MgmtChannelFilterType chnlType, String solicitedMsgId)
 连接或重新连接通道以接收讯息。 更多...
 
void ListenerChannelConnect (Channel< T > chnlToReconnect, MgmtChannelFilterType chnlType)
 
void ListenerMsgDeposit (T msgToDeposit, String solicitedMsgId)
 

Private 成员函数

boolean AddListenerChannel (Channel< T > chnlToAdd, MgmtChannelFilterType chnlType, String solicitedMsgId)
 
void RemoveListenerFromList (List< Channel< T >> listenerList, Channel< T > chnlToRemove)
 
void AddListenerToList (List< Channel< T >> listenerList, Channel< T > chnlToAdd)
 
List< Channel< T > > MySolicitedChannelList (String solicitedMsgId)
 
void MySolicitedChannelList_Add (String solicitedMsgId, Channel< T > chnlToAdd)
 
void MySolicitedChannelList_Remove (Channel< T > chnlToRemove)
 
Map.Entry< String, List< Channel< T > > > mySolicitedListWithChannel (Channel< T > chnlToSearch)
 
String SolicitedChnlKey (Channel< T > chnlToLookFor)
 
void AddToMsgList (T msgToDeposit, List< Channel< T >> listenerList)
 

Private 属性

final Semaphore _semaphoreListeners = new Semaphore(1)
 
final List< Channel< T > > _msgListeners_AllMsgs = new ArrayList<>()
 
final List< Channel< T > > _msgListeners_Unsolicited = new ArrayList<>()
 
final List< Channel< T > > _msgListeners_AnySolicited = new ArrayList<>()
 
final Map< String, List< Channel< T > > > _mySolicitedListenerTable = new HashMap<>()
 

构造及析构函数说明

◆ AMgmtListenerChannels()

成员函数说明

◆ AddListenerChannel()

◆ AddListenerToList()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.AddListenerToList ( List< Channel< T >>  listenerList,
Channel< T >  chnlToAdd 
)
private

◆ AddToMsgList()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.AddToMsgList ( msgToDeposit,
List< Channel< T >>  listenerList 
)
private

◆ ListenerChannelConnect() [1/2]

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelConnect ( Channel< T >  chnlToReconnect,
MgmtChannelFilterType  chnlType 
)

◆ ListenerChannelConnect() [2/2]

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelConnect ( Channel< T >  chnlToReconnect,
MgmtChannelFilterType  chnlType,
String  solicitedMsgId 
)

连接或重新连接通道以接收讯息。

solicitedMsgId 仅适用于 MgmtChannelFilterType::MY_SOLICITED_MSGS_ONLYMgmtChannelFilterType::MY_SOLICITED_AND_UNSOLICITED_MSGS 类型的通道。

实现了 com.UniPRT.Sdk.Mgmt.IMgmtMsgListenerChannels< T >.

◆ ListenerChannelDisconnect()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelDisconnect ( Channel< T >  chnlToRemove)

断开通道。断开的通道不会再接收讯息,但未来可以重新连接。

实现了 com.UniPRT.Sdk.Mgmt.IMgmtMsgListenerChannels< T >.

被这些函数引用 com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< String >.ListenerChannelDisconnectPermanently().

◆ ListenerChannelDisconnectPermanently()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelDisconnectPermanently ( Channel< T >  chnlToRemove)

永久断开通道,使其无法重新连接。

实现了 com.UniPRT.Sdk.Mgmt.IMgmtMsgListenerChannels< T >.

◆ ListenerChannelGetNew() [1/2]

Channel<T> com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelGetNew ( int  capacity,
MgmtChannelFilterType  chnlType 
)

◆ ListenerChannelGetNew() [2/2]

Channel<T> com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerChannelGetNew ( int  capacity,
MgmtChannelFilterType  chnlType,
String  solicitedMsgId 
)

创建新通道供调用者监听完整的JSON讯息。

通道中最多能容纳由 capacity 定义的讯息,若未读取时新增讯息,最旧的项目会被丢弃。 solicitedMsgId 仅适用于 SOLICITED_MSGS_ONLY 类型的通道。

实现了 com.UniPRT.Sdk.Mgmt.IMgmtMsgListenerChannels< T >.

被这些函数引用 com.UniPRT.Sdk.Json.JsonComm.SendAndWaitForResponse().

◆ ListenerMsgDeposit()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.ListenerMsgDeposit ( msgToDeposit,
String  solicitedMsgId 
)

◆ MySolicitedChannelList()

List<Channel<T> > com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.MySolicitedChannelList ( String  solicitedMsgId)
private

◆ MySolicitedChannelList_Add()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.MySolicitedChannelList_Add ( String  solicitedMsgId,
Channel< T >  chnlToAdd 
)
private

◆ MySolicitedChannelList_Remove()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.MySolicitedChannelList_Remove ( Channel< T >  chnlToRemove)
private

◆ mySolicitedListWithChannel()

Map.Entry<String, List<Channel<T> > > com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.mySolicitedListWithChannel ( Channel< T >  chnlToSearch)
private

◆ RemoveListenerFromList()

void com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.RemoveListenerFromList ( List< Channel< T >>  listenerList,
Channel< T >  chnlToRemove 
)
private

◆ SolicitedChnlKey()

String com.UniPRT.Sdk.Mgmt.AMgmtListenerChannels< T >.SolicitedChnlKey ( Channel< T >  chnlToLookFor)
private

类成员变量说明

◆ _msgListeners_AllMsgs

◆ _msgListeners_AnySolicited

◆ _msgListeners_Unsolicited

◆ _mySolicitedListenerTable

◆ _semaphoreListeners


该类的文档由以下文件生成: