在 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 的訊息的傳送和接收程式,從而完成我們的問題。在作業系統訊息部分的比較經典的問題之一就是 訊息的建立傳送和接收 對於該...