Tôi đã thấy các tham chiếu đến 'zone' trong MsgPack C headers, nhưng không tìm thấy tài liệu nào về nó là gì hoặc nó là gì. Nó là gì? Hơn nữa, tài liệu chức năng theo chức năng của API C ở đâu?MsgPack 'zone'
Trả lời
msgpack_zone
là cấu trúc bên trong được sử dụng để quản lý bộ nhớ & vòng đời tại thời gian giải nén. Tôi sẽ nói rằng bạn sẽ không bao giờ phải tương tác với nó nếu bạn sử dụng giao diện cấp cao tiêu chuẩn cho unpacking hoặc phiên bản streaming thay thế. Theo tôi, không có tài liệu chi tiết: thay vào đó bạn nên tham khảo bộ thử nghiệm cung cấp các mẫu mã thuận tiện để đạt được các tác vụ phổ biến, ví dụ: xem pack_unpack_c.cc
và streaming_c.cc
.
Từ những gì tôi có thể thu thập, đó là loại di chuyển duy nhất lưu trữ dữ liệu thực tế của msgpack::object
. Nó rất tốt có thể là một chi tiết thực hiện, nhưng nó thực sự bị rò rỉ vào mã của người dùng đôi khi. Ví dụ: bất cứ lúc nào bạn muốn chụp msgpack::object
trong lambda, bạn cũng phải chụp đối tượng msgpack::zone
. Đôi khi bạn không thể sử dụng tính năng chụp di chuyển (ví dụ: trình xử lý asio trong một số trường hợp sẽ chỉ sử dụng các trình xử lý có thể sao chép hoặc trình biên dịch của bạn không hỗ trợ tính năng này). Để làm việc xung quanh này, bạn có thể:
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. Loại MIME cho msgpack?
- 2. Chuyển đổi Zone Giờ địa phương để Time Zone PST trong C#
- 3. Time Zone địa phương trong Ruby
- 4. Python DST & Time Zone Detection Sau Addition
- 5. Oracle TIMESTAMP VỚI TIMEZONE có tên là zone vs offset
- 6. "TIMESTAMP WITH TIME ZONE" <--> DateTImeOffset mapping sẽ không cung cấp phần Zone trên các lệnh INSERT (Entity Framework + Oracle)
- 7. msgpack C++ thực hiện: Làm thế nào để đóng gói dữ liệu nhị phân?
- 8. Có MySQL tương đương với TIMESTAMP của Oracle với TIME ZONE không?
- 9. Cách cập nhật cột TIMESTAMP thành TIMESTAMP WITH TIME ZONE trong Oracle
- 10. Làm thế nào để msgpack một lớp C++ do người dùng định nghĩa với các mảng POD?
- 11. Làm cách nào để chỉ định thẻ git khi cấu hình của plugin SCM Maven?
- 12. MySQL dấu phẩy tách giá trị
- 13. Chúng ta có nên sử dụng ScalaSignature trực tiếp không?
- 14. SimpleDateFormat mất nhiều thời gian khi múi giờ được bao gồm
- 15. TimeZone.setDefault thay đổi trong JDK6
- 16. Matching một nút dựa trên giá trị của một người anh chị em ruột với XPath
- 17. Các kiểu dữ liệu PostgreSQL và C#
- 18. Đặt múi giờ của chế độ org
- 19. Một thiết kế của functors trong OCaml
- 20. Tại sao khu vực luôn luôn là nil trong khi triển khai NSCopying?
- 21. Làm cách nào để áp dụng bộ lọc cho tài nguyên lồng nhau trong khung công tác REST của Django?
- 22. NSCopying & Inheritance
- 23. Checkbox vẫn không được kiểm soát sau khi kích hoạt sự kiện
- 24. gói rgdal lat/long -> UTM
- 25. Tại sao phương thức getOffset() của joda DateTimeZone yêu cầu một "tức thì"?
- 26. Lập bản đồ một bộ sưu tập nhóm sử dụng AutoMapper
- 27. jQuery X-Editable: Cập nhật trường chọn dựa trên giá trị của trường chọn khác
- 28. Nginx # ngx_http_limit_req_module: Trong bao lâu là 503 trả lại một lần vượt quá tỷ lệ?
- 29. Rails has_many: thông qua PG :: Lỗi: LRI: thông qua tham chiếu cột "id" là lỗi mơ hồ
- 30. Làm thế nào để tạo ra một "on-the-fly" bảng vẽ bản đồ trong một câu lệnh SELECT trong PostgreSQL
tôi khuyên bạn nên đọc [tài liệu riêng] của nó (https://github.com/msgpack/msgpack/blob/master/README.md) ở vị trí đầu tiên ... –
Bạn đang trỏ tôi đến msgpack.org? Nếu vậy, tôi đã không thể tìm thấy bất kỳ mô tả hữu ích của các khu vực có một trong hai. Google tìm thấy một vài tham chiếu nhưng không có gì hữu ích: https://www.google.com/search?q=zone+site%3Amsgpack.org&aq=f&sugexp=chrome,mod=10&sourceid=chrome&ie=UTF-8 – brooks94
không. Truy cập vào liên kết, đó là readme của dự án GitHub. –