mirror of
https://github.com/status-im/status-go.git
synced 2025-01-17 02:02:36 +00:00
e65760ca85
This commit adds basic syncing capabilities with peers if they are both online. It updates the work done on MVDS, but I decided to create the code in status-go instead, since it's very tight to the application (similarly the code that was the inspiration for mvds, bramble, is all tight together at the database level). I reused parts of the protobufs. The flow is: 1) An OFFER message is sent periodically with a bunch of message-ids and group-ids. 2) Anyone can REQUEST some of those messages if not present in their database. 3) The peer will then send over those messages. It's disabled by default, but I am planning to add a way to set up the flags.
41 lines
865 B
C
41 lines
865 B
C
#ifndef _FEATURES_H
|
|
#define _FEATURES_H
|
|
|
|
#if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE)
|
|
#define _GNU_SOURCE 1
|
|
#endif
|
|
|
|
#if defined(_DEFAULT_SOURCE) && !defined(_BSD_SOURCE)
|
|
#define _BSD_SOURCE 1
|
|
#endif
|
|
|
|
#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
|
|
&& !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
|
|
&& !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
|
|
#define _BSD_SOURCE 1
|
|
#define _XOPEN_SOURCE 700
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 199901L
|
|
#define __restrict restrict
|
|
#elif !defined(__GNUC__)
|
|
#define __restrict
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
|
#define __inline inline
|
|
#elif !defined(__GNUC__)
|
|
#define __inline
|
|
#endif
|
|
|
|
#if __STDC_VERSION__ >= 201112L
|
|
#elif defined(__GNUC__)
|
|
#define _Noreturn __attribute__((__noreturn__))
|
|
#else
|
|
#define _Noreturn
|
|
#endif
|
|
|
|
#define __REDIR(x,y) __typeof__(x) x __asm__(#y)
|
|
|
|
#endif
|