comparison Framework/Messages/ICallable.h @ 1262:ca2058bd74ef toa2020012702

Changed fingerprint from uuid_t to int64_t + poor man's checksum (to fix emscripten syscall error + make it faster)
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 27 Jan 2020 15:13:00 +0100
parents 3f6e5a38c88f
children e9687648d7af
comparison
equal deleted inserted replaced
1261:4c1c9df47d46 1262:ca2058bd74ef
63 private: 63 private:
64 typedef void (TObserver::* MemberFunction) (const TMessage&); 64 typedef void (TObserver::* MemberFunction) (const TMessage&);
65 65
66 TObserver& observer_; 66 TObserver& observer_;
67 MemberFunction function_; 67 MemberFunction function_;
68 std::string observerFingerprint_; 68 int64_t observerFingerprint_;
69 69
70 public: 70 public:
71 Callable(TObserver& observer, 71 Callable(TObserver& observer,
72 MemberFunction function) : 72 MemberFunction function) :
73 observer_(observer), 73 observer_(observer),
76 { 76 {
77 } 77 }
78 78
79 void ApplyInternal(const TMessage& message) 79 void ApplyInternal(const TMessage& message)
80 { 80 {
81 std::string currentFingerprint(observer_.GetFingerprint()); 81 int64_t currentFingerprint(observer_.GetFingerprint());
82 if (observerFingerprint_ != currentFingerprint) 82 if (observerFingerprint_ != currentFingerprint)
83 { 83 {
84 LOG(TRACE) << "The observer at address " << 84 LOG(TRACE) << "The observer at address " <<
85 std::hex << &observer_ << std::dec << 85 std::hex << &observer_ << std::dec <<
86 ") has a different fingerprint than the one recorded at callback " << 86 ") has a different fingerprint than the one recorded at callback " <<