# Binary Protocol
## **GET**
### **GET Request**
* cmd value is \= libtstorage/src/Proto.h::MsgType::MSG\_GET \= 1
* size \= 0 \- size of additional data (currently unimplemented)
* total size: 76 Bytes
### **GET Response**
After UStorage received and processed this request it sends back response:
where:
* ResponseHeader.size \= 0 \- size of additional data (currently unimplemented)
* recSize \- Size of next record. 0 is set for end of data stream. To ensure correct data deserialization, each record
must have length as declared in recSize, otherwise terminating 0 would have unspecified interpretation.
After UStorage send the data it sends back either:
### **GET Response confirmation \- SUCCESS**
size \= 8 \- size of acq \+ size of additional data (currently unimplemented)
or
### **GET Response confirmation \- ERROR**
size \= 0 \- size of additional data (currently unimplemented)
## **GET_ACQ**
### **GET\_ACQ Request**
* cmd \= MSG\_GETACQ (7)
* size \= 0 \- size of additional data (currently unimplemented)
* total size: 76
* Request is forwarded internally as GETLASTACQ request to tracker
### **GET\_ACQ response \- SUCCESS**
size \= 8 \- size of acq \+ size of additional data (currently unimplemented)
### **GET\_ACQ response \- ERROR**
size \= 0 \- size of additional data (currently unimplemented)
## **PUT/PUTA**
### **PUT Request**
* cmd \= MSG\_PUT (2)
* size \= 0 \- size of additional data (currently unimplemented)
### **PUTA Request**
* cmd \= MSG\_PUTA (3)
* size \= 0 \- size of additional data (currently unimplemented)
### **After UStorage received and processed this request it sends back either:**
###
### **PUT Response confirmation \- SUCCESS**
size \= 16 \- size of acqMin \+ size of acqMax \+ size of additional data (currently unimplemented)
or
### **PUT Response confirmation \- ERROR**
size \= 0 \- size of additional data (currently unimplemented)