2012-08-24 79 views
1

我想了解Thrift for javascript自動生成的.read(輸入)和.write(輸出)函數。瞭解Thrift Javascript對象

我找不到任何關於如何與這些Javascript對象組成部分的函數進行交互的文檔。

鏈接或描述?

回答

2

因此,對於您在.thrift文件中定義的每個數據結構,Apache Thrift將爲您生成一個包含讀取和寫入方法的類,用於從對象的序列化(寫入)和反序列化(讀取)那種類型。

現在,讀取和寫入方法都將參數作爲協議,並且在給定Transport的情況下創建協議。你可以找到一個協議和傳輸中節儉的情況下是指通過以下鏈接:

http://anomalizer.net/statistically-incorrect/2010/11/introduction-thrift-serialization/

節儉的層對維基百科的圖片和說明可能會有所幫助瞭解數據是如何的不同層之間傳遞。

現在我還沒有在Javascript中試過這個,但是節儉支持的不同語言的庫看起來很相似。所以在Python這是怎麼使用讀寫方法:

//SERIALIZATION: 
transportOut = TTransport.TMemoryBuffer() 
protocolOut = TBinaryProtocol.TBinaryProtocol(transportOut) 
work.write(protocolOut) 
bytes = transportOut.getvalue() # the string 'bytes' can be written out to disk 
          # to be read in at a different time 

// DESERIALIZATION 
transportIn = TTransport.TMemoryBuffer(bytes) 
protocolIn = TBinaryProtocol.TBinaryProtocol(transportIn) 
moreWork = Work() 
moreWork.read(protocolIn) 

HTH