资源描述:
《openwrt ubus简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UbusBriefTheubusisdesignedforprovidingcommunicationbetweenvariousdaemonsandapplications.ThearchitectureasbelowObjectsandObjectpathsTheObjectpathsarebindingscannameobjectinstances,andallowapplicationstorefertothem.InOpenWRT,theobjectpathisnamespacelikenet
2、work.interface.lanMethodsandNotificationsMethodsareoperationsthatcanbeinvokedonanobject,withoptionalinputparametersandoutput.Notificationsarebroadcastsfromtheobjecttoanyinterestedobserversoftheobject.ThenotificationsmaycontainadatapayloadCallingamethodAm
3、ethodcallinubusconsistsoftwomessages;AcallmessagesfromprocessAtoprocessBandthereplymessagesfromprocessBtoprocessA.Thesendmessageandreplymessagesarebothroutedthroughtheubusdaemon.Thecallmessagecontainsthemethodarguments.Thereplymessagesmaybeerrormessages,
4、ormaycontainmethodreturneddata.CallProcess1.Thecallmethodmessagescontainstheubusconnectioncontext,thedestinationobjectid,themethodname,themethodarguments.2.Themethodcallmessageissendtotheubusdaemon3.Theubusdaemonlookupthedestinationobjectid,ifaprocessown
5、stheobjectinstance,thenthedaemonwillforwardthemethodcalltothefindprocess.Otherwisetheubusdaemoncreatesanerrormessagesandsendstheerrormessagebacktothemessagecallasreply.4.Thereceivingprocesswillparsetheubusobjectmessages,andfindthecallmethodandargumentsbe
6、longtothemethod.Thenmatchtheobjectmethodsinobjectinstance,iffindmatchedmethod,willinvokethemethodandthensendthereplymessages.5.Ubusdaemonreceivethereplymessageandforwardthereplymessagetotheprocessthatmadethemethodcall.6.Thereplymessagesistransferredasubu
7、sblobmessagesstructurewhichisTLV(Type-Length-Value)basedbinarymessagestype.7.Theprocessreceivedthereplymessageshouldparsethemessageandformattohuman-nicemessagetypeasJSONorXML.NotifyNotificationsAnotificationinubusconsistsofasinglemessages,sendbyoneproces
8、stoanynumberofotherprocesses,whichmeansthenotificationisaunidirectionalbroadcast,noneedexpectedreplymessage.Thenotificationsenderdonotknowthenotificationsrecipients,itjustsendthenotificationontobusTheinterestrecipientsshou