Ho visto riferimenti a 'zone' nello MsgPack C headers, ma non riesco a trovare alcuna documentazione su cosa sia o per cosa sia. Che cos'è? Inoltre, dov'è la documentazione funzione per funzione per l'API C?Che cos'è una 'zona' MsgPack
risposta
msgpack_zone
è una struttura interna utilizzata per il ciclo di vita della gestione della memoria & al momento del disimballaggio. Direi che non dovrai mai interagire con esso se utilizzi l'interfaccia standard di alto livello per unpacking o la versione alternativa .
A mia conoscenza, non esiste una documentazione dettagliata: si consiglia invece di fare riferimento alla suite di test che fornisce esempi di codice convenienti per ottenere le attività comuni, ad es. vedi pack_unpack_c.cc
e streaming_c.cc
.
Da quello che potrei raccogliere, è un tipo di solo spostamento che memorizza i dati effettivi di un msgpack::object
. Potrebbe benissimo essere inteso come un dettaglio di implementazione, ma a volte si diffonde nel codice degli utenti. Ad esempio, ogni volta che si desidera acquisire uno msgpack::object
in una lambda, è necessario acquisire anche l'oggetto msgpack::zone
. A volte non è possibile utilizzare lo spostamento dell'acquisizione (ad esempio, in alcuni casi i gestori di asio assumono solo gestori copiabili, oppure il compilatore non supporta la funzione). Per ovviare a questo, è possibile:
msgpack::unpacked r;
while (pac_.next(&r)) {
auto msg = result.get();
io_->post([this, msg, z = std::shared_ptr<msgpack::zone>(r.zone().release())]() {
// msg is valid here
}));
}
- 1. MVC3 - con una vista parziale in una zona diversa
- 2. Blog zona di posizionamento
- 3. Android che utilizza MSGPack Core e Jackson Mapper - decodifica la variabile di classe di tipo sconosciuto
- 4. percorsi registrarsi in registrazione zona
- 5. Zona di disponibilità di Heroku
- 6. Come può uno script di shell sapere che viene eseguito in una zona Solaris?
- 7. Aggiornamento di una zona Tapestry su base regolare
- 8. Reindirizza dall'azione di una zona a un'azione nella "radice" -area?
- 9. Posso avere un sottodominio route53 in una diversa zona ospitata?
- 10. Come eseguire il msgpack di una classe C++ definita dall'utente con gli array POD?
- 11. La "zona visibile" di un controllo?
- 12. Utilizzando zona di lancio per XAMPP
- 13. Prendere diamo variabile da zona morta temporale
- 14. Tempo di aggiornamento Android dati della zona
- 15. Asp.net MVC zona 3 di routing fallire
- 16. Come faccio a ridimensionare QTableView in modo che la zona non viene fatto scorrere più
- 17. MsgPack per la compressione di dati JSON, perché non utilizzare gzip/deflate?
- 18. Reagisce sulla riga di visualizzazione della zona di testo salvata
- 19. Determinazione della zona UTM (per convertire) da longitudine/latitudine
- 20. Ridimensionamento della zona di rilascio per la distruzione delle bolle
- 21. Python DST e zona di rilevamento Tempo dopo l'aggiunta
- 22. zona morta temporale con la lasciamo in per-loop
- 23. dumping Avahi & Bonjour, file di zona DNS-SD
- 24. variante 3D per la tavola zona sommati (SAT)
- 25. Sublime Text 2 utilizzando Zen codifica aka Emmet all'interno di una zona di script
- 26. alcuni conflitti sono stati trovati nella zona installtion
- 27. Errore T4MVC - Il file T4 è bloccato o in una zona non sicura
- 28. Perché abbiamo bisogno di allocare lo stack quando abbiamo una zona rossa?
- 29. Perché il codice del kernel non può utilizzare una zona rossa
- 30. CloudKit: è possibile avere una zona personalizzata in un database pubblico?
vi suggerisco di leggere la sua [propria documentazione] (https://github.com/msgpack/msgpack/blob/master/README.md) al primo posto ... –
Mi stai indicando su msgpack.org? In tal caso, non sono stato in grado di trovare nessuna descrizione utile delle zone. Google trova alcuni riferimenti, ma nulla di molto utile: https://www.google.com/search?q=zone+site%3Amsgpack.org&aq=f&sugexp=chrome,mod=10&sourceid=chrome&ie=UTF-8 – brooks94
no. Visita il link, questo è il readme del progetto GitHub. –