view release on metacpan or search on metacpan
msgpack-3.3.0/test/object.cpp
msgpack-3.3.0/test/object_with_zone.cpp
msgpack-3.3.0/test/pack_unpack.cpp
msgpack-3.3.0/test/pack_unpack_c.cpp
msgpack-3.3.0/test/raw.cpp
msgpack-3.3.0/test/reference.cpp
msgpack-3.3.0/test/reference_cpp11.cpp
msgpack-3.3.0/test/reference_wrapper_cpp11.cpp
msgpack-3.3.0/test/shared_ptr_cpp11.cpp
msgpack-3.3.0/test/size_equal_only.cpp
msgpack-3.3.0/test/streaming.cpp
msgpack-3.3.0/test/streaming_c.cpp
msgpack-3.3.0/test/test_allocator.hpp
msgpack-3.3.0/test/unique_ptr_cpp11.cpp
msgpack-3.3.0/test/user_class.cpp
msgpack-3.3.0/test/version.cpp
msgpack-3.3.0/test/visitor.cpp
msgpack-3.3.0/test/zone.cpp
t/RT74518.t
t/basic.t
t/boolean-roundtrip.t
t/bug-issue3.t
{
   "abstract" : "yet another messagepack streaming deserializer",
   "author" : [
      "Daisuke Murase <typester@cpan.org>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Minilla/v3.1.10",
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
---
abstract: 'yet another messagepack streaming deserializer'
author:
  - 'Daisuke Murase <typester@cpan.org>'
build_requires:
  Test::More: '0.98'
configure_requires:
  Devel::PPPort: '3.42'
  File::Which: '0'
  Module::Build: '0.4005'
  Module::Build::XSUtil: '0'
dynamic_config: 0
[](https://travis-ci.org/typester/Data-MessagePack-Stream)
# NAME
Data::MessagePack::Stream - yet another messagepack streaming deserializer
# SYNOPSIS
    use Data::Dumper;
    my $unpacker = Data::MessagePack::Stream->new;
    while (read($fh, my $buf, 1024)) {
        $unpacker->feed($buf);
        while ($unpacker->next) {
            print Dumper($unpacker->data);
        }
    }
# DESCRIPTION
Data::MessagePack::Stream is streaming deserializer for MessagePack.
This module is alternate for [Data::MessagePack::Unpacker](https://metacpan.org/pod/Data%3A%3AMessagePack%3A%3AUnpacker).
Unlike original unpacker, this module support internal buffer and it's possible to handle streaming data correctly.
# METHODS
## new
    my $unpacker = Data::MessagePack::Stream->new;
Create new stream unpacker.
## feed($data)
lib/Data/MessagePack/Stream.pm view on Meta::CPAN
1;
__END__
=for stopwords
messagepack deserializer parsable unpacker unpacker's
=head1 NAME
Data::MessagePack::Stream - yet another messagepack streaming deserializer
=head1 SYNOPSIS
    use Data::Dumper;
    my $unpacker = Data::MessagePack::Stream->new;
    while (read($fh, my $buf, 1024)) {
        $unpacker->feed($buf);
        while ($unpacker->next) {
            print Dumper($unpacker->data);
        }
    }
=head1 DESCRIPTION
Data::MessagePack::Stream is streaming deserializer for MessagePack.
This module is alternate for L<Data::MessagePack::Unpacker>.
Unlike original unpacker, this module support internal buffer and it's possible to handle streaming data correctly.
=head1 METHODS
=head2 new
    my $unpacker = Data::MessagePack::Stream->new;
Create new stream unpacker.
=head2 feed($data)
msgpack-3.3.0/ChangeLog view on Meta::CPAN
  * Remove some warnings (#599, #602, #605)
# 2017-06-07 version 2.1.2
* Improve documents (#565)
  * Fix empty map parse bug (#568)
  * Improve build system (#569, #570, #572, #579, #591, #592)
  * Remove some warnings (#574, #578, #586, #588)
  * Improve cross platform configuration (#577, #582)
  * Add cmake package config support (#580)
  * Fix streaming unpack bug (#585)
# 2017-02-04 version 2.1.1
  * Fix unpacker's buffer management bug (#561)
  * Add boost string_view adaptor (#558)
  * Remove some warnings (#557, #559)
  * Improve coding style (#556)
# 2017-01-10 version 2.1.0
msgpack-3.3.0/ChangeLog view on Meta::CPAN
  * Add msgpack_sbuffer_new and msgpack_sbuffer_free
  * Add msgpack_unpacker_next and msgpack_unpack_next
  * msgpack::unpack returns void
  * Add MSGPACK_VERSION{,_MAJOR,_MINOR} macros to check header version
  * Add msgpack_version{,_major,_minor} functions to check library version
  * ./configure supports --disable-cxx option not to build C++ API
# 2010-04-29 version 0.5.0:
  * msgpack_object_type is changed. MSGPACK_OBJECT_NIL is now 0x00.
  * New safe streaming deserializer API.
  * Add object::object(const T&) and object::operator=(const T&)
  * Add operator==(object, const T&)
  * MSGPACK_DEFINE macro defines msgpack_object(object* obj, zone* z)
  * C++ programs doesn't need to link "msgpackc" library.
msgpack-3.3.0/include/msgpack/unpack.h view on Meta::CPAN
    size_t initial_buffer_size;
    void* ctx;
} msgpack_unpacker;
#ifndef MSGPACK_UNPACKER_INIT_BUFFER_SIZE
#define MSGPACK_UNPACKER_INIT_BUFFER_SIZE (64*1024)
#endif
/**
 * Initializes a streaming deserializer.
 * The initialized deserializer must be destroyed by msgpack_unpacker_destroy(msgpack_unpacker*).
 */
MSGPACK_DLLEXPORT
bool msgpack_unpacker_init(msgpack_unpacker* mpac, size_t initial_buffer_size);
/**
 * Destroys a streaming deserializer initialized by msgpack_unpacker_init(msgpack_unpacker*, size_t).
 */
MSGPACK_DLLEXPORT
void msgpack_unpacker_destroy(msgpack_unpacker* mpac);
/**
 * Creates a streaming deserializer.
 * The created deserializer must be destroyed by msgpack_unpacker_free(msgpack_unpacker*).
 */
MSGPACK_DLLEXPORT
msgpack_unpacker* msgpack_unpacker_new(size_t initial_buffer_size);
/**
 * Frees a streaming deserializer created by msgpack_unpacker_new(size_t).
 */
MSGPACK_DLLEXPORT
void msgpack_unpacker_free(msgpack_unpacker* mpac);
#ifndef MSGPACK_UNPACKER_RESERVE_SIZE
#define MSGPACK_UNPACKER_RESERVE_SIZE (32*1024)
#endif
/**
msgpack-3.3.0/include/msgpack/unpack.h view on Meta::CPAN
/**
 * Initializes a msgpack_unpacked object.
 * The initialized object must be destroyed by msgpack_unpacked_destroy(msgpack_unpacker*).
 * Use the object with msgpack_unpacker_next(msgpack_unpacker*, msgpack_unpacked*) or
 * msgpack_unpack_next(msgpack_unpacked*, const char*, size_t, size_t*).
 */
static inline void msgpack_unpacked_init(msgpack_unpacked* result);
/**
 * Destroys a streaming deserializer initialized by msgpack_unpacked().
 */
static inline void msgpack_unpacked_destroy(msgpack_unpacked* result);
/**
 * Releases the memory zone from msgpack_unpacked object.
 * The released zone must be freed by msgpack_zone_free(msgpack_zone*).
 */
static inline msgpack_zone* msgpack_unpacked_release_zone(msgpack_unpacked* result);
msgpack-3.3.0/test/CMakeLists.txt view on Meta::CPAN
INCLUDE_DIRECTORIES (
    ${GTEST_INCLUDE_DIRS}
    ${ZLIB_INCLUDE_DIRS}
)
SET (tests_C
    buffer_c.cpp
    fixint_c.cpp
    msgpack_c.cpp
    pack_unpack_c.cpp
    streaming_c.cpp
)
IF (NOT MSGPACK_CXX_ONLY)
    LIST (APPEND check_PROGRAMS
        ${tests_C}
    )
ENDIF ()
IF (MSGPACK_ENABLE_CXX)
    LIST (APPEND check_PROGRAMS
msgpack-3.3.0/test/CMakeLists.txt view on Meta::CPAN
        msgpack_container.cpp
        msgpack_stream.cpp
        msgpack_tuple.cpp
        msgpack_vref.cpp
        object.cpp
        object_with_zone.cpp
        pack_unpack.cpp
        raw.cpp
        reference.cpp
        size_equal_only.cpp
        streaming.cpp
        user_class.cpp
        version.cpp
        visitor.cpp
        zone.cpp
    )
    IF (MSGPACK_BOOST)
        LIST (APPEND check_PROGRAMS
            boost_fusion.cpp
            boost_variant.cpp
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
#endif //defined(__GNUC__)
#include <gtest/gtest.h>
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif //defined(__GNUC__)
#include <sstream>
TEST(streaming, basic)
{
    msgpack::sbuffer buffer;
    msgpack::packer<msgpack::sbuffer> pk(&buffer);
    pk.pack(1);
    pk.pack(2);
    pk.pack(3);
    const char* input = buffer.data();
    const char* const eof = input + buffer.size();
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
            }
        }
        EXPECT_TRUE(input < eof);
    }
}
// obsolete
#if MSGPACK_DEFAULT_API_VERSION == 1
TEST(streaming, basic_pointer)
{
    msgpack::sbuffer buffer;
    msgpack::packer<msgpack::sbuffer> pk(&buffer);
    pk.pack(1);
    pk.pack(2);
    pk.pack(3);
    const char* input = buffer.data();
    const char* const eof = input + buffer.size();
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
        }
        EXPECT_TRUE(input < eof);
    }
}
#endif // MSGPACK_DEFAULT_API_VERSION == 1
#if !defined(MSGPACK_USE_CPP03)
TEST(streaming, move)
{
    msgpack::sbuffer buffer;
    msgpack::packer<msgpack::sbuffer> pk(&buffer);
    pk.pack(1);
    pk.pack(2);
    pk.pack(3);
    const char* input = buffer.data();
    const char* const eof = input + buffer.size();
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
        EXPECT_EQ(expect, obj.as<int>());
    }
    int expect;
private:
    std::istream& input;
    msgpack::unpacker pac;
};
TEST(streaming, event)
{
    std::stringstream stream;
    msgpack::packer<std::ostream> pk(&stream);
    event_handler handler(stream);
    pk.pack(1);
    handler.expect = 1;
    handler.on_read();
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
    pk.pack(3);
    handler.expect = 3;
    handler.on_read();
}
// obsolete
#if MSGPACK_DEFAULT_API_VERSION == 1
// backward compatibility
TEST(streaming, basic_compat)
{
    std::ostringstream stream;
    msgpack::packer<std::ostream> pk(&stream);
    pk.pack(1);
    pk.pack(2);
    pk.pack(3);
    std::istringstream input(stream.str());
msgpack-3.3.0/test/streaming.cpp view on Meta::CPAN
        EXPECT_EQ(expect, obj.as<int>());
    }
    int expect;
private:
    std::istream& input;
    msgpack::unpacker pac;
};
TEST(streaming, event_compat)
{
    std::stringstream stream;
    msgpack::packer<std::ostream> pk(&stream);
    event_handler_compat handler(stream);
    pk.pack(1);
    handler.expect = 1;
    handler.on_read();
msgpack-3.3.0/test/streaming_c.cpp view on Meta::CPAN
#endif //defined(__GNUC__)
#include <gtest/gtest.h>
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif //defined(__GNUC__)
#include <stdio.h>
TEST(streaming, basic)
{
    msgpack_sbuffer* buffer = msgpack_sbuffer_new();
    msgpack_packer* pk = msgpack_packer_new(buffer, msgpack_sbuffer_write);
    // 1, 2, 3, "str", ["str_data"], "bin", ["bin_data"], {0.3: 0.4}
    EXPECT_EQ(0, msgpack_pack_int(pk, 1));
    EXPECT_EQ(0, msgpack_pack_int(pk, 2));
    EXPECT_EQ(0, msgpack_pack_int(pk, 3));
    EXPECT_EQ(0, msgpack_pack_str(pk, 3));
msgpack-3.3.0/test/streaming_c.cpp view on Meta::CPAN
                }
            }
        }
    }
    msgpack_unpacker_destroy(&pac);
    msgpack_unpacked_destroy(&result);
    msgpack_sbuffer_free(buffer);
}
TEST(streaming, basic_with_size)
{
    int ret;
    size_t bytes;
    size_t parsed = 0;
    msgpack_sbuffer* buffer = msgpack_sbuffer_new();
    msgpack_packer* pk = msgpack_packer_new(buffer, msgpack_sbuffer_write);
    msgpack_unpacked result;
    msgpack_unpacker *unp;
    // 1, 2, 3, "str", ["str_data"], "bin", ["bin_data"], {0.3: 0.4}