Floodlight 中建立訊息物件的方法

2021-06-22 14:06:20 字數 2292 閱讀 1350

在 floodlight 中建立各種openflow message 和 action 等採用的是

簡單工廠

方式,basicfactory類(實現

ofmessagefactory介面,

)會根據訊息的型別建立不同的物件,達到更好的封裝效果;此外這裡呼叫的是列舉型別的方法。下面是具體**:

----------工廠介面,還有ofactionfactory,約束需要具體工廠完成的事情

public

inte***ce

ofmessagefactory

---------工廠類

//建立

openflow

message和action

public

class

basicfactory 

implements

ofmessagefactory, ofactionfactory,

ofstatisticsfactory, ofvendordatafactory

@override

public

listparsemessage(channelbuffer data)  

throws

messageparseexception  

else}

if

(msglist.size() == 0)  

return

msglist; }

public

ofmessage parsemessageone(channelbuffer data)  

throws

messageparseexception  

if

(ofm 

instanceof

ofmessagefactoryaware)  

if

(ofm 

instanceof

ofstatisticsfactoryaware)  

if

(ofm 

instanceof

ofvendordatafactoryaware)  

// 最後呼叫具體類的readfrom,從channelbuffer解析出該訊息

ofm.readfrom(data);

if

(ofmessage.

class

.equals(ofm.getclass()))

return

ofm; } 

catch

(exception e) }

// 下面的action和statistics 與上面類似。 

@override

public

ofaction getaction(ofactiontype t)

@override

public

listparseactions(channelbuffer data, 

int

length)

@override

public

listparseactions(channelbuffer data, 

int

length, 

int

limit)

results.add(ofa); }

return

results; }

@override

public

ofactionfactory getactionfactory() }

floodlight 中兩個互相矛盾的地方

floodlight中,新增防火牆規則,0表示最高優先順序,數字越大,優先順序越低 但是在staticflowpusher中寫flow的時候,0表示最低優先順序,數字越大,優先順序越高,32767為最高。floodlight中,防火牆通配規則如下 10.0.0.1 8 10.x.x.x 10.0.0...

SOAP訊息建立

看了soap訊息分析之後,大家對soap訊息應該有了乙個初步的認識,那麼怎樣自己編寫乙個soap訊息呢?先來建立乙個簡單的soap訊息 test public void test1 catch soapexception ioexception e 輸出 envelope xmlns soap en...

訊息的建立傳送和接收

在 作業系統 訊息部分的比較經典的問題之一就是 訊息的建立傳送和接收 對於該問題完成並不難,我們使用訊息呼叫msgget msgsnd msggrev msgctrl 編制長度為1k 的訊息的傳送和接收程式,從而完成我們的問題。在作業系統訊息部分的比較經典的問題之一就是 訊息的建立傳送和接收 對於該...