Revision b66e9238

View differences:

README
1
======PStreamer======
2
PStreamer[1] is a P2P real-time content distribution platform.
3
It is built on top of the GRAPES library [2] which is a mandatory dependency.
4
You can compile the vanilla executable or the use the libpstreamer library to easily code your own streaming platform.
5

  
6
===Compilation===
7
In order to compile you need the GRAPES library [3].
8
You can specify the GRAPES folder path using an environment variable.
9

  
10
To obtain both the PStreamer library and the executable just launch
11
$> make
12

  
13
To turn on all the debugging feature, set the DEBUG environment variable:
14
$> DEBUG=1 make
15

  
16
To turn on only the chunk and signalling debugging function use the CFLAGS:
17
$> CFLAGS="-DLOG_CHUNK -DLOG_SIGNAL" make
18

  
19
===Test===
20
In the "test" folder are stored the test files. To run them and check code consistency run:
21
$> cd test/ && make && ./run_tests.sh
22

  
23
===Example===
24
Here it is a simple example using the executable and the RTP chunkiser; you need an RTP streaming source we suppose it is streaming using the ports 4000,4001,4002,4003;
25
The following will start a PStreamer source peer, getting the RTP flow from the RTP source and serving it to the rest of the P2P net through port 3999
26
$> ./pstreamer -p 0 -c "iface=lo,port=3999,chunkiser=rtp,base=4000,addr=127.0.0.1,max_delay_ms=50"
27
The following will start a PStreamer peer, which gets the source peer flow from port 4999 and will re-distribute an RTP flow using the ports 5000,5001,5002,5003
28
$> ./pstreamer -p 3999 -c "iface=lo,port=4999,dechunkiser=rtp,base=5000,addr=127.0.0.1"
29

  
30

  
31
===References==
32
[1] http://peerstreamer.org
33
[2] Abeni, Luca, et al. "Design and implementation of a generic library for P2P streaming." Proceedings of the 2010 ACM workshop on Advanced video streaming techniques for peer-to-peer networks and social networking. ACM, 2010
34
[3] https://ans.disi.unitn.it/redmine/grapes.git
README.md
1
======PStreamer======
2
PStreamer[1] is a P2P real-time content distribution platform.
3
It is built on top of the GRAPES library [2] which is a mandatory dependency.
4
You can compile the vanilla executable or the use the libpstreamer library to easily code your own streaming platform.
5

  
6
===Compilation===
7
In order to compile you need the GRAPES library [3].
8
You can specify the GRAPES folder path using an environment variable.
9

  
10
To obtain both the PStreamer library and the executable just launch
11
$> make
12

  
13
To turn on all the debugging feature, set the DEBUG environment variable:
14
$> DEBUG=1 make
15

  
16
To turn on only the chunk and signalling debugging function use the CFLAGS:
17
$> CFLAGS="-DLOG_CHUNK -DLOG_SIGNAL" make
18

  
19
===Test===
20
In the "test" folder are stored the test files. To run them and check code consistency run:
21
$> cd test/ && make && ./run_tests.sh
22

  
23
===Example===
24
Here it is a simple example using the executable and the RTP chunkiser; you need an RTP streaming source we suppose it is streaming using the ports 4000,4001,4002,4003;
25
The following will start a PStreamer source peer, getting the RTP flow from the RTP source and serving it to the rest of the P2P net through port 3999
26
$> ./pstreamer -p 0 -c "iface=lo,port=3999,chunkiser=rtp,base=4000,addr=127.0.0.1,max_delay_ms=50"
27
The following will start a PStreamer peer, which gets the source peer flow from port 4999 and will re-distribute an RTP flow using the ports 5000,5001,5002,5003
28
$> ./pstreamer -p 3999 -c "iface=lo,port=4999,dechunkiser=rtp,base=5000,addr=127.0.0.1"
29

  
30

  
31
===References==
32
[1] http://peerstreamer.org
33
[2] Abeni, Luca, et al. "Design and implementation of a generic library for P2P streaming." Proceedings of the 2010 ACM workshop on Advanced video streaming techniques for peer-to-peer networks and social networking. ACM, 2010
34
[3] https://ans.disi.unitn.it/redmine/grapes.git
include/pstreamer_event.h
6 6

  
7 7
typedef void (*fd_register_f)(void *, int, char);
8 8

  
9
int register_network_fds(const struct nodeID *s, fd_register_f func, void *handler);
10

  
11 9
int pstreamer_register_fds(const struct psinstance *psh, fd_register_f func, void *handler);
12 10

  
13 11
#endif
src/net_helpers.h
23 23
#define NET_HELPERS_H
24 24

  
25 25
#include<net_helper.h>
26
#include<pstreamer_event.h>
26 27

  
27 28
#define NODE_STR_LENGTH 80
28 29

  
29 30
char *iface_addr(const char *iface);
30 31
char *default_ip_addr();
31 32
char * nodeid_static_str(const struct nodeID * id);
33
int register_network_fds(const struct nodeID *s, fd_register_f func, void *handler);
32 34

  
33 35
#endif	/* NET_HELPERS_H */

Also available in: Unified diff