profile
viewpoint
messense messense @alipay Shanghai, China https://keybase.io/messense Python Backend Developer at day, Rustacean at night.

aaugustin/websockets 2773

Library for building WebSocket servers and clients in Python

bosondata/badwolf 86

Docker based continuous integration, continuous deployment and code lint review system for BitBucket

andelf/rust-darts 31

Double Array Trie in Rust

messense/APUE-Learning 20

Learning Advanced Programming in the UNIX Environment

bosondata/react-native-geetest 16

Geetest binding for react-native

messense/cjieba-py 12

Python cffi binding to CppJieba

messense/bosonnlp-rs 11

BosonNLP SDK for Rust

bosondata/crfsuite-rs 7

Rust binding to crfsuite

Lynskylate/serde_hessian 6

A Hessian serialize/deserialize rust implemention.

messense/caiyun 6

字幕组资源离线下载至百度云盘 (Not Maintained)

created tagmessense/rust-lunardate

tagv0.2.0

A Chinese Calendar Library in Rust

created time in a day

push eventmessense/rust-lunardate

messense

commit sha 5c9967ec785f190ca4af61a08eb1950881ca01a6

Bump version to 0.2.0

view details

push time in a day

delete branch messense/rust-lunardate

delete branch : feature/rust-2018-edition

delete time in a day

push eventmessense/rust-lunardate

messense

commit sha 536d96142fd8d71c6aa34756f28721a82cf96457

Use Rust 2018 edition and migrate CI to GitHub Actions

view details

push time in a day

create barnchmessense/rust-lunardate

branch : feature/rust-2018-edition

created branch time in a day

CommitCommentEvent

create barnchmessense/serde_hessian

branch : feature/arc-ref

created branch time in 2 days

startedJordiPolo/minos

started time in 2 days

push eventwechatpy/wechatpy

白月秋见心

commit sha bdd9b031f02cfff74ac91f699cb456b1492ae974

删除掉已经废弃的get_client_by_authorization_code

view details

push time in 3 days

startedmartinus/nanobench

started time in 3 days

Pull request review commentLynskylate/serde_hessian

Imple serde::ser for Serializer

 pub fn to_vec(value: &Value) -> Result<Vec<u8>> {     Ok(buf) } +pub fn to_bytes<T>(value: &T) -> Result<Vec<u8>>

Date 类型的问题,可以把 date 反序列化成 time/chrono crate 里面的时间类型而不是一个 i64 的 timestamp

Lynskylate

comment created time in 3 days

Pull request review commentLynskylate/serde_hessian

Imple serde::ser for Serializer

 pub fn to_vec(value: &Value) -> Result<Vec<u8>> {     Ok(buf) } +pub fn to_bytes<T>(value: &T) -> Result<Vec<u8>>

可以把 to_vec free standing function 改成 Value::to_vec 方法。

Lynskylate

comment created time in 3 days

startedsoftdevteam/grmtools

started time in 5 days

startedqingstor/crossfire-rs

started time in 5 days

startedjonhoo/griddle

started time in 5 days

push eventLynskylate/serde_hessian

messense

commit sha 326e2099796547d8d7f052cf552289b403b23d04

Allow clippy::match_overlapping_arm lint

view details

push time in 6 days

Pull request review commentLynskylate/serde_hessian

Imple serde::ser for Serializer

 impl<'a, W: io::Write> Serializer<'a, W> {     } } +impl<'a, W: io::Write> ser::SerializeSeq for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_element<T: Serialize + ?Sized>(&mut self, value: &T) -> Result<()> {+        value.serialize(&mut **self)?;+        Ok(())+    }++    #[inline]+    fn end(self) -> Result<()> {+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeTuple for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_element<T: Serialize + ?Sized>(&mut self, value: &T) -> Result<()> {+        value.serialize(&mut **self)+    }++    #[inline]+    fn end(self) -> Result<()> {+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeTupleStruct for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_field<T: Serialize + ?Sized>(&mut self, value: &T) -> Result<()> {+        ser::SerializeTuple::serialize_element(self, value)+    }++    #[inline]+    fn end(self) -> Result<()> {+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeTupleVariant for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_field<T: Serialize + ?Sized>(&mut self, value: &T) -> Result<()> {+        ser::SerializeTuple::serialize_element(self, value)+    }++    #[inline]+    fn end(self) -> Result<()> {+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeMap for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_key<T: Serialize + ?Sized>(&mut self, key: &T) -> Result<()> {+        key.serialize(&mut **self)+    }++    #[inline]+    fn serialize_value<T: Serialize + ?Sized>(&mut self, value: &T) -> Result<()> {+        value.serialize(&mut **self)+    }++    #[inline]+    fn end(self) -> Result<()> {+        self.writer.write_u8(b'Z')?;+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeStruct for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    fn serialize_field<T: Serialize + ?Sized>(+        &mut self,+        key: &'static str,+        value: &T,+    ) -> Result<()> {+        ser::SerializeMap::serialize_key(self, key)?;+        ser::SerializeMap::serialize_value(self, value)+    }++    #[inline]+    fn end(self) -> Result<()> {+        self.writer.write_u8(b'Z')?;+        Ok(())+    }+}++impl<'a, W: io::Write> ser::SerializeStructVariant for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    #[inline]+    fn serialize_field<T: Serialize + ?Sized>(+        &mut self,+        key: &'static str,+        value: &T,+    ) -> Result<()> {+        ser::SerializeMap::serialize_key(self, key)?;+        ser::SerializeMap::serialize_value(self, value)+    }++    #[inline]+    fn end(self) -> Result<()> {+        self.writer.write_u8(b'Z')?;+        Ok(())+    }+}++impl<'a, W: io::Write> ser::Serializer for &'a mut Serializer<W> {+    type Ok = ();+    type Error = Error;++    type SerializeSeq = Self;+    type SerializeTuple = Self::SerializeSeq;+    type SerializeTupleStruct = Self::SerializeTuple;+    type SerializeTupleVariant = Self::SerializeTuple;+    type SerializeMap = Self;+    type SerializeStruct = Self::SerializeMap;+    type SerializeStructVariant = Self::SerializeStruct;++    #[inline]+    fn serialize_bool(self, value: bool) -> Result<()> {+        self.serialize_bool(value)+    }++    #[inline]+    fn serialize_i8(self, value: i8) -> Result<()> {+        self.serialize_int(value as i32)+    }++    #[inline]+    fn serialize_i16(self, value: i16) -> Result<()> {+        self.serialize_int(value as i32)+    }++    #[inline]+    fn serialize_i32(self, value: i32) -> Result<()> {+        self.serialize_int(value)+    }++    #[inline]+    fn serialize_i64(self, value: i64) -> Result<()> {+        self.serialize_long(value)+    }++    #[inline]+    fn serialize_u8(self, value: u8) -> Result<()> {+        self.serialize_int(value as i32)+    }++    #[inline]+    fn serialize_u16(self, value: u16) -> Result<()> {+        self.serialize_int(value as i32)+    }++    #[inline]+    fn serialize_u32(self, value: u32) -> Result<()> {+        if value < i32::max_value() as u32 {+            self.serialize_int(value as i32)+        } else {+            self.serialize_long(value as i64)+        }+    }++    #[inline]+    fn serialize_u64(self, value: u64) -> Result<()> {+        self.serialize_long(value as i64)+    }++    #[inline]+    fn serialize_f32(self, value: f32) -> Result<()> {+        self.serialize_double(value as f64)+    }++    #[inline]+    fn serialize_f64(self, value: f64) -> Result<()> {+        self.serialize_double(value as f64)+    }++    #[inline]+    fn serialize_char(self, value: char) -> Result<()> {+        let mut string = String::with_capacity(4); // longest utf-8 encoding

可以用 char.encode_utf8

let mut buf = [0; 4];
let string = value.encode_utf8(&mut buf);
Lynskylate

comment created time in 6 days

Pull request review commentLynskylate/serde_hessian

Imple serde::ser for Serializer

 name = "hessian_benchmark" harness = false  [dependencies]+serde = { version = "1.0", features = ["derive"]}

derive feature 只用在了测试里面吧,可以不在这里加这个 feature,而是在 dev-dependencies 里面加这个 feature

Lynskylate

comment created time in 6 days

Pull request review commentLynskylate/serde_hessian

Imple serde::ser for Serializer

 pub fn to_vec(value: &Value) -> Result<Vec<u8>> {     Ok(buf) } +pub fn to_bytes<T>(value: &T) -> Result<Vec<u8>>

和上面的 to_vec 是一样的?to_vec 命名是参考 serde-json 的 https://docs.rs/serde_json/1.0.55/serde_json/fn.to_vec.html

Lynskylate

comment created time in 6 days

pull request commentLynskylate/serde_hessian

Add read list

由于list和map是复杂类型,根据hessian规范是需要添加引用的

想了下估计得用 Arc 类似 C++ 的 std::shared_ptr,不过代码改动会比较多。

Lynskylate

comment created time in 6 days

delete branch Lynskylate/serde_hessian

delete branch : add-clippy

delete time in 6 days

push eventLynskylate/serde_hessian

Yiqun Ling

commit sha b52d5d762e3a2fa5df0d968a28b8555924ab82cb

Add clippy check and fix clippy error (#13) * Fix clippy error and add clippy check * Fix test error

view details

push time in 6 days

pull request commentmilesgranger/pyrus-cramjam

Upgrade pyo3 to 0.11.0 and use stable Rust

Forget to change this one: https://github.com/milesgranger/pyrus-cramjam/blob/5b35b2c08a1e043ac9b9ffe3a394e9251551ac33/Dockerfile#L10

messense

comment created time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 87dafbe381054d89751383e95edfe59cfae74413

Optimize decoding speed by eliminating extra copies ``` decode/from_slice time: [7.5290 us 7.5713 us 7.6287 us] thrpt: [23.752 MiB/s 23.932 MiB/s 24.067 MiB/s] change: time: [-17.850% -17.176% -16.394%] (p = 0.00 < 0.05) thrpt: [+19.609% +20.738% +21.728%] Performance has improved. Found 3 outliers among 100 measurements (3.00%) 1 (1.00%) high mild 2 (2.00%) high severe ```

view details

push time in 7 days

push eventmessense/serde_hessian

Yiqun Ling

commit sha 86924774cf49356c4e705204a7bbadc57bb1faba

Merge pull request #10 from Lynskylate/impl_map Impl map deserialization and serialization

view details

messense

commit sha b35871fa1c9c580342aca3866337b7cd628d9e4b

Add type to List (#11)

view details

messense

commit sha 74707067e0cbc8db783265a48f40f08d54e6a936

Add type to Map

view details

messense

commit sha 29f522c259373faa91f1378755e752eb6310fbf8

Add more accessors for Value

view details

Yiqun Ling

commit sha 4ea9520b83bc6d181ad48eded9f2f576b0c66df2

Add read object read/write definition (#12) * Add read_definition * Add read object * Complete write definition * Add typed ser for map and list Co-authored-by: messense <messense@icloud.com>

view details

messense

commit sha d8bb95624b6f8bcc5f850c4a8cd5f9d41f0fcbe2

Revamp public APIs

view details

messense

commit sha d1a596365290999b871a33ec2401915113cc5d97

Make constant module private

view details

messense

commit sha 336cd33c112d3652bb69cc209f09e2d45c279b69

Bump version to 0.0.2

view details

messense

commit sha abcb5299992e49e34ce74224fae64c9603646e52

Make IdentifyLast trait private

view details

messense

commit sha 2c847e0ed9bcb86ad693fc88630f4c4a388cb7ad

Add inline documentation

view details

messense

commit sha 9d6c8164d83226bc04f9a1c530c3064b148a4bbb

Ignore invalid doctests

view details

messense

commit sha c52d28cfe83eafc47c5858cc1c6ed08b2933678f

Eliminate an extra copy in Deserializer::read_object

view details

messense

commit sha 3d3bca9181ecadd46c7b5b4f213f9fcc5c4222a9

Refactor double deserialization

view details

messense

commit sha 56aa13bb4cccff0f1f78f8c663b19ce4898d4760

Rename byte codec type variant names

view details

messense

commit sha a0d8a3025c36fbb4368384a65c9cd10fc7b03e95

Refactor string deserialization

view details

messense

commit sha f42c5c3ee6a93bf4f33ecf61a5caefec57878d3c

Add more test cases for list decoding

view details

messense

commit sha 71c93f8aacafcd90ba12413911aeacf06541b60e

Fix compact object deserialization

view details

messense

commit sha c3a33eb514141a5c9c01cc4892e4ec816e3605d0

Use two type parameters for the ToHessian impl for HashMap

view details

messense

commit sha 5fd3e9bdf065080caf09a3cb882884ab1a026c36

Properly handle UTF-8 string decoding error

view details

messense

commit sha 6bfbf1bc5402fa0656652d5b74bb2542a011f68b

Use actions-rs/install to cache cargo-fuzz binary

view details

push time in 7 days

delete branch messense/pyrus-cramjam

delete branch : feature/pyo3-0-11

delete time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha b7321ae8b3f8af6ca306e17116bbbe16256ce6e7

Add criterion benchmarks for decoding

view details

push time in 7 days

created tagLynskylate/serde_hessian

tagv0.0.3

A Hessian serialize/deserialize rust implemention.

created time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha c914f79a93222bcf965e328017b675218a4de4fa

Bump version to 0.0.3

view details

push time in 7 days

PR opened milesgranger/pyrus-cramjam

Upgrade pyo3 to 0.11.0 and use stable Rust

https://github.com/PyO3/pyo3/releases/tag/v0.11.0

+4 -4

0 comment

3 changed files

pr created time in 7 days

create barnchmessense/pyrus-cramjam

branch : feature/pyo3-0-11

created branch time in 7 days

fork messense/pyrus-cramjam

Thin Python wrapper to de/compression algorithms in Rust - lightweight & no dependencies

fork in 7 days

push eventLynskylate/serde_hessian

messense

commit sha befbf5c31d0a26bea4c96b913e5a4e2b75ac60c5

Deserialize object with type name

view details

push time in 7 days

startedBurtonQin/rust-lock-bug-detector

started time in 7 days

issue commentactions-rs/tool-cache

Add cached crate pyoxidizer

cc @laixintao

messense

comment created time in 7 days

issue openedactions-rs/tool-cache

Add cached crate pyoxidizer

Do the checklist before filing an issue:

  • [x] Is this related to the actions-rs Actions? If not, use GitHub Community forum to ask questions about Actions in a whole: https://github.community
  • [x] Does this crate helps with the Rust CI? Mostly helps with Python CI for packaging self contained Python applications.
  • [x] Is it popular enough to be used by many users? Yes.

Crate

crates.io: https://crates.io/crates/pyoxidizer repository: https://github.com/indygreg/PyOxidizer

Motivation

pyoxidizer usage example: https://github.com/laixintao/iredis/blob/0239c284f1c48952757fa61b6844f6fdcd6e020c/.github/workflows/release.yaml#L116-L125

created time in 7 days

delete branch Lynskylate/serde_hessian

delete branch : feature/cache-cargo-fuzz-bin

delete time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 6bfbf1bc5402fa0656652d5b74bb2542a011f68b

Use actions-rs/install to cache cargo-fuzz binary

view details

push time in 7 days

create barnchLynskylate/serde_hessian

branch : feature/cache-cargo-fuzz-bin

created branch time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 5fd3e9bdf065080caf09a3cb882884ab1a026c36

Properly handle UTF-8 string decoding error

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha c3a33eb514141a5c9c01cc4892e4ec816e3605d0

Use two type parameters for the ToHessian impl for HashMap

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 71c93f8aacafcd90ba12413911aeacf06541b60e

Fix compact object deserialization

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha f42c5c3ee6a93bf4f33ecf61a5caefec57878d3c

Add more test cases for list decoding

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha a0d8a3025c36fbb4368384a65c9cd10fc7b03e95

Refactor string deserialization

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha c52d28cfe83eafc47c5858cc1c6ed08b2933678f

Eliminate an extra copy in Deserializer::read_object

view details

messense

commit sha 3d3bca9181ecadd46c7b5b4f213f9fcc5c4222a9

Refactor double deserialization

view details

messense

commit sha 56aa13bb4cccff0f1f78f8c663b19ce4898d4760

Rename byte codec type variant names

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 9d6c8164d83226bc04f9a1c530c3064b148a4bbb

Ignore invalid doctests

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 2c847e0ed9bcb86ad693fc88630f4c4a388cb7ad

Add inline documentation

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha abcb5299992e49e34ce74224fae64c9603646e52

Make IdentifyLast trait private

view details

push time in 7 days

created tagLynskylate/serde_hessian

tagv0.0.2

A Hessian serialize/deserialize rust implemention.

created time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha d1a596365290999b871a33ec2401915113cc5d97

Make constant module private

view details

messense

commit sha 336cd33c112d3652bb69cc209f09e2d45c279b69

Bump version to 0.0.2

view details

push time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha d8bb95624b6f8bcc5f850c4a8cd5f9d41f0fcbe2

Revamp public APIs

view details

push time in 7 days

delete branch Lynskylate/serde_hessian

delete branch : dev-ser

delete time in 7 days

push eventLynskylate/serde_hessian

messense

commit sha 29f522c259373faa91f1378755e752eb6310fbf8

Add more accessors for Value

view details

push time in 8 days

push eventLynskylate/serde_hessian

messense

commit sha 74707067e0cbc8db783265a48f40f08d54e6a936

Add type to Map

view details

push time in 8 days

delete branch messense/serde_hessian

delete branch : feature/typed-list

delete time in 8 days

push eventLynskylate/serde_hessian

messense

commit sha b35871fa1c9c580342aca3866337b7cd628d9e4b

Add type to List (#11)

view details

push time in 8 days

push eventmessense/jieba-rs

messense

commit sha d5dfef92a5f74abdd9925eebd62cc88f5b72e918

Bump version to 0.5.1

view details

push time in 9 days

created tagmessense/jieba-rs

tagv0.5.1

The Jieba Chinese Word Segmentation Implemented in Rust

created time in 9 days

startedfacebookincubator/propfuzz

started time in 9 days

startedajeetdsouza/zoxide

started time in 9 days

PR opened Lynskylate/serde_hessian

Add type to List
+128 -32

0 comment

4 changed files

pr created time in 9 days

create barnchmessense/serde_hessian

branch : feature/typed-list

created branch time in 9 days

push eventmessense/serde_hessian

lynskylate

commit sha 814c6d2d5ffa6ed16d07dd89a38f86e5d90cf27b

Add fuzz test

view details

Yiqun Ling

commit sha 36db357e09af975d49d5769ed6504cdc62704d36

Add date unittest and writedate (#5) * Add write date * Format file

view details

messense

commit sha 95546877f8971126a9fa7f34525471e65efd7d72

Rename ErrorCode to ErrorKind

view details

messense

commit sha fe4160b4aee03c3a71c1c1076555ad773e316afd

Add Serializer & Deserializer roundtrip test

view details

messense

commit sha 63fe0885f0963aaceb7f2db65d8b328ca072dcd6

Format tests/test_roundtrip.rs

view details

messense

commit sha da3732962cd255bd144f18cf525ffee177598c0d

Revert read_exact, it does not work well with large allocations

view details

messense

commit sha ab663012d29f85324d38763d52e1733fd8e89f6f

Run cargo-fuzz on CI (#6) Previously it only builds the fuzz targets

view details

messense

commit sha 1a73cafe5af86b338a306f4053f79daa57fbf7a1

Implement String decoding

view details

messense

commit sha a05724cc7d8357614f44c8f716ef7a8e99e927b6

Fix string serialization issue

view details

messense

commit sha ebac0ec90da1ad22cbcb7b57adab91975122786c

Decode Long

view details

messense

commit sha e366be7ccc15f0733d973dd6b7be8c2992d6c003

Add test_decode_long test case

view details

messense

commit sha 6c677502592b219ba6999aab2b299def59aa1db4

Encode Double

view details

lynskylate

commit sha 20120c1658671e072d7be7fdac92bc19decc090b

Add format for value

view details

messense

commit sha 3f0fcaf56f1fee7744fdabf6fe13f6b6e5d2a6c7

Add code coverage report (#8)

view details

Yiqun Ling

commit sha 8b2b855d1d6049cf20b181bd84c72141649d37c5

Complete read list (#9)

view details

lynskylate

commit sha fa7f412550bd9c3bf7ae2abcdb67c3b726a2ea82

Add map decode and encode

view details

push time in 9 days

issue commentapache/rocketmq-client-python

关于如何关闭 /root/logs/rocketmq-cpp日志的问题?

@huajason 可以贴一下 shutdown 的时候的 rocketmq-cpp 的日志、strace 下 shutdown 时候的进程看看系统调用。

huajason

comment created time in 11 days

push eventmessense/rocketmq-client-python

duhenglucky

commit sha 33c09179d88e7c3a358c747499404ce1b3e6d4d6

feat(producer) add transaction message support

view details

duhenglucky

commit sha edad8caffe9e0456fca15872cb083667f703a910

feat(producer) add multi transaction producer support

view details

duhenglucky

commit sha 0f58c739e8c076b145095d3dff01989d26c0fefd

feat(producer) add transaction producer destroy logic

view details

duhenglucky

commit sha 0224a6b205ad9aaa395148c5bc58ead31de0ecc3

feat(producer) remove batch message logic

view details

duhenglucky

commit sha 5637b65b6e3efd02bd01730c3b71260edbf6ed55

Merge branch 'master' of github.com:apache/rocketmq-client-python * 'master' of github.com:apache/rocketmq-client-python: feat(travis) upgrade cpp core from 1.2.0 to 1.2.0

view details

messense

commit sha b73762caa218e9c4651d34863444febae508f595

Remove original rocketmq-client-python files

view details

messense

commit sha 7fffd2a27bc02414d5967705b2bd88ddb28a54b8

Initial commit

view details

messense

commit sha 4c302b5f9b149db0820d7591f4ee0da27637c26a

Cleanup setup.py

view details

messense

commit sha b33d6aa6f0824b93b6d93589a090b83518fd45b9

Add more function prototypes

view details

messense

commit sha 20c1db8fbf0b07092f34c108f075f9f48aa02c8e

Add basic PushConsumer

view details

messense

commit sha 0a8ca8732d0789701429a1ef5885ec4ab0edbb2c

Update PushConsumer

view details

messense

commit sha ecd18cb22c14df5d73036a6c9ac555baf4d28574

Refactor PushConsumer subscribe API

view details

dushujun

commit sha e2543d0f332d064a42b8c937467220f61b13bfd4

Add basic PullConsumer (#2)

view details

messense

commit sha 5666638f47755fa53732880ac9eb37c671fd1eb9

Add RecvMessage class

view details

messense

commit sha 93515b90f9cb46ea196791e5dcf7cefc1b8709d0

Add PushConsumer.set_message_model

view details

messense

commit sha 9da3dd787d4794aacd3d345af996917d4566d3a0

Fix PushConsumer callback crash

view details

messense

commit sha 6026e28da3122b0442295438d621e69a3a22997a

Parse PushConsumer message

view details

messense

commit sha 0e9774e40c2f26c2dab7480d21370e373b419c81

Update setup.py

view details

messense

commit sha 19e64514cf367a039a2a2cd6d8df2974ff9d6275

Build and distribute wheels on Travis CI (#4)

view details

messense

commit sha 6b9e4c616ec7c13fce18fe990aae56db0b435ca1

Add license file and update README

view details

push time in 11 days

issue commentapache/rocketmq-client-python

关于如何关闭 /root/logs/rocketmq-cpp日志的问题?

@ifplusor ctypes 调用 C API 的时候会释放 GIL

https://docs.python.org/3/library/ctypes.html#ctypes.CFUNCTYPE

huajason

comment created time in 11 days

issue commentapache/rocketmq-client-python

关于如何关闭 /root/logs/rocketmq-cpp日志的问题?

@huajason Web App 的 supervisor 比如 supervisord/systemd 应该可以配置 graceful shutdown,停止等 30s 还没退出就会自动发 kill -9

huajason

comment created time in 11 days

startederikgrinaker/toydb

started time in 11 days

startedRedisLabs/redisraft

started time in 11 days

issue commentapache/rocketmq-client-python

关于如何关闭 /root/logs/rocketmq-cpp日志的问题?

@huajason

  1. 创建一个 producer 实例然后复用
  2. 实例销毁的时候应该会自动 shutdown,不放心也可以用 atexit 注册个 hook 进程退出的时候 shutdown
huajason

comment created time in 11 days

startedlibrespot-org/libmdns

started time in 11 days

startedmicrosoft/bistring

started time in 11 days

startedKqSMea8/AirplayServer

started time in 11 days

startedmaplestoria/copy-redis

started time in 12 days

startedmaplestoria/redis-event

started time in 12 days

starteddermesser/integer-encoding-rs

started time in 12 days

issue commentmessense/rocketmq-python

rocketmq-python does not support Windows

We don't use Windows, maybe you can try WSL.

SongJiaxin95

comment created time in 12 days

startedfabianschuiki/llhd

started time in 12 days

issue commentapache/rocketmq-client-python

关于如何关闭 /root/logs/rocketmq-cpp日志的问题?

这个需要上游 rocketmq-client-cpp 支持配置,可以去提个 issue.

huajason

comment created time in 12 days

delete branch messense/pyrus-cramjam

delete branch : feature/pyo3-0-10

delete time in 13 days

startedminivision-ai/photo2cartoon

started time in 13 days

PR opened milesgranger/pyrus-cramjam

Upgrade pyo3 to 0.10.1

pyo3 0.10 added catch_unwind! macro to prevent panics crossing ffi boundaries https://github.com/PyO3/pyo3/pull/797 , which resolves #5, although ideally we should define some specific exceptions, but hey at least it's not unsound anymore.

In [1]: import cramjam

In [2]: cramjam.snappy_decompress(b'abcdefgh')
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StreamHeader { byte: 97 } }', src/snappy.rs:21:35
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---------------------------------------------------------------------------
PanicException                            Traceback (most recent call last)
<ipython-input-2-1d4c0e441753> in <module>
----> 1 cramjam.snappy_decompress(b'abcdefgh')

PanicException: called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StreamHeader { byte: 97 } }
+1 -1

0 comment

1 changed file

pr created time in 13 days

create barnchmessense/pyrus-cramjam

branch : feature/pyo3-0-10

created branch time in 13 days

fork messense/pyrus-cramjam

Thin Python wrapper to de/compression algorithms in Rust - lightweight & no dependencies

fork in 13 days

issue openedmilesgranger/pyrus-cramjam

Panic on invalid input is bad

In [1]: import cramjam

In [2]: cramjam.snappy_decompress(b'abc')
Out[2]: b''

In [3]: cramjam.snappy_decompress(b'abcdefgh')
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StreamHeader { byte: 97 } }', src/snappy.rs:21:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
[1]    74251 abort      py -m IPython

I would expect it to raise a Python exception instead of aborting the process.

created time in 13 days

startedmilesgranger/pyrus-cramjam

started time in 13 days

startedfmoo/python-varint

started time in 13 days

startedrust-bakery/nom-derive

started time in 13 days

startedgmg137/netease-cloud-music-gtk

started time in 14 days

pull request commentLynskylate/serde_hessian

Add read list

类型名其实可以保留一下,只是 List 不能直接用 Vec<Value> 了,可以用个 enum

#[derive(Clone, Debug, Hash, PartialEq, PartialOrd, Eq, Ord)]
pub enum List {
    Typed(String, Vec<Value>),
    Untyped(Vec<Value>)
}

为了方便使用可以添加一下 From/Into/Deref 的 impl 比如:

impl<T: Into<Value>> From<Vec<T>> for List {}
impl<T: Into<Value>> From<(String, Vec<T>)> for List {}
Lynskylate

comment created time in 14 days

delete branch Lynskylate/serde_hessian

delete branch : readlist

delete time in 14 days

push eventLynskylate/serde_hessian

Yiqun Ling

commit sha 8b2b855d1d6049cf20b181bd84c72141649d37c5

Complete read list (#9)

view details

push time in 14 days

PR merged Lynskylate/serde_hessian

Add read list

本次提交只是实现了list的基本编解码,由于list和map是复杂类型,根据hessian规范是需要添加引用的。 目前对于引用值和复杂类型这一块我并没有什么好的想法来处理,包括Value::Ref是存弱指针还是直接存ref_id,目前都没有清晰的想法。 对于解出的引用值,初步想法是deserializer中的引用表中存裸指针(deserializer的生命周期应当短于Value), 但是这会有unsafe的行为。

还有一个类型名的处理(在rust中似乎并没有什么用),目前参考了hessian-go,对于读出的类名不进行处理。

+203 -8

1 comment

7 changed files

Lynskylate

pr closed time in 14 days

push eventmessense/jieba-rs

messense

commit sha e575ea871b5422327270e472b2a26762ef71adaa

Bump hashbrown version to 0.8.x Benchmark changes: ``` jieba cut/no hmm time: [5.5771 us 5.6278 us 5.6948 us] thrpt: [20.096 MiB/s 20.335 MiB/s 20.520 MiB/s] change: time: [+3.1980% +4.3185% +5.7734%] (p = 0.00 < 0.05) thrpt: [-5.4583% -4.1397% -3.0989%] Performance has regressed. Found 7 outliers among 100 measurements (7.00%) 5 (5.00%) high mild 2 (2.00%) high severe jieba cut/with hmm time: [7.8084 us 7.8484 us 7.8896 us] thrpt: [14.505 MiB/s 14.581 MiB/s 14.656 MiB/s] change: time: [+2.2992% +2.9726% +3.6765%] (p = 0.00 < 0.05) thrpt: [-3.5461% -2.8868% -2.2475%] Performance has regressed. Found 2 outliers among 100 measurements (2.00%) 2 (2.00%) high severe jieba cut/cut_all time: [3.9327 us 3.9639 us 3.9978 us] thrpt: [28.626 MiB/s 28.871 MiB/s 29.100 MiB/s] change: time: [-4.5130% -3.8768% -3.1557%] (p = 0.00 < 0.05) thrpt: [+3.2585% +4.0332% +4.7264%] Performance has improved. jieba cut/cut_for_search time: [9.1169 us 9.1931 us 9.2734 us] thrpt: [12.341 MiB/s 12.449 MiB/s 12.553 MiB/s] change: time: [-0.2283% +1.1709% +2.4589%] (p = 0.09 > 0.05) thrpt: [-2.3998% -1.1573% +0.2289%] No change in performance detected. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high mild jieba tokenize/default mode time: [8.0142 us 8.0782 us 8.1487 us] thrpt: [14.044 MiB/s 14.167 MiB/s 14.280 MiB/s] change: time: [-21.146% -17.679% -14.263%] (p = 0.00 < 0.05) thrpt: [+16.636% +21.476% +26.817%] Performance has improved. Found 5 outliers among 100 measurements (5.00%) 4 (4.00%) high mild 1 (1.00%) high severe jieba tokenize/search mode time: [8.4141 us 8.4777 us 8.5479 us] thrpt: [13.388 MiB/s 13.499 MiB/s 13.601 MiB/s] change: time: [-2.3275% -1.2393% -0.1567%] (p = 0.03 < 0.05) thrpt: [+0.1569% +1.2548% +2.3830%] Change within noise threshold. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high mild jieba/tag time: [8.1486 us 8.1788 us 8.2101 us] thrpt: [13.939 MiB/s 13.992 MiB/s 14.044 MiB/s] change: time: [-5.8843% -5.3811% -4.8951%] (p = 0.00 < 0.05) thrpt: [+5.1471% +5.6871% +6.2522%] Performance has improved. Found 6 outliers among 100 measurements (6.00%) 6 (6.00%) high mild jieba extract keywords/tfidf time: [9.4087 us 9.4470 us 9.4890 us] thrpt: [12.060 MiB/s 12.114 MiB/s 12.163 MiB/s] change: time: [-7.2119% -6.1750% -5.1584%] (p = 0.00 < 0.05) thrpt: [+5.4390% +6.5814% +7.7724%] Performance has improved. Found 7 outliers among 100 measurements (7.00%) 5 (5.00%) high mild 2 (2.00%) high severe jieba extract keywords/textrank time: [21.357 us 21.626 us 22.023 us] thrpt: [5.1965 MiB/s 5.2918 MiB/s 5.3585 MiB/s] change: time: [-13.514% -12.292% -11.049%] (p = 0.00 < 0.05) thrpt: [+12.422% +14.015% +15.626%] Performance has improved. Found 13 outliers among 100 measurements (13.00%) 6 (6.00%) high mild 7 (7.00%) high severe ```

view details

push time in 15 days

pull request commentLynskylate/serde_hessian

Add code coverage report

哦,其实不用,刚才 CI 连接 Codecov 超时了。

messense

comment created time in 17 days

pull request commentLynskylate/serde_hessian

Add code coverage report

@Lynskylate 可能需要你的账号在这里 https://codecov.io/gh/Lynskylate/serde_hessian 配置下。

messense

comment created time in 17 days

delete branch messense/serde_hessian

delete branch : feature/codecov

delete time in 17 days

more