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

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

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)
 

私有屬性

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]

◆ 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


此類別(class) 文件是由下列檔案中產生: