OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [src_c/] [synfull/] [pronoc-interface/] [netstream/] [socketstream.tcp_h] - Blame information for rev 54

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 54 alirezamon
/*
2
 * socketstream.h
3
 *
4
 *  Created on: Dec 14, 2009
5
 *      Author: sam
6
 */
7
 
8
#ifndef SOCKETSTREAM_H_
9
#define SOCKETSTREAM_H_
10
 
11
#include 
12
 
13
#include 
14
#include 
15
#include 
16
#include 
17
#include 
18
#include 
19
 
20
#include 
21
 
22
#define NS_DEBUG
23
// #define NS_DEBUG_EXTRA
24
#define NS_MAX_PENDING 20
25
#define NS_MAX_PORT_LEN 10
26
#define NS_HOST "127.0.0.1"
27
#define NS_PORT 4123
28
 
29
using namespace std;
30
 
31
class SocketStream
32
{
33
public:
34
        int so; // the socket
35
        struct sockaddr_in addr;
36
        bool bIsAlive;
37
 
38
public:
39
 
40
        SocketStream() : so(-1), bIsAlive(false)
41
        {
42
        }
43
 
44
        // create from an existing socket
45
        SocketStream(int sock) : so(sock), bIsAlive(true)
46
        {
47
        }
48
 
49
        ~SocketStream()
50
        {
51
                if (so != -1)
52
                {
53
                        close(so);
54
                }
55
        }
56
 
57
        SocketStream(int sock, struct sockaddr *in_addr, socklen_t in_addrlen)
58
        {
59
                so = sock;
60
                bIsAlive = true;
61
                memcpy(&addr, in_addr, in_addrlen);
62
        }
63
 
64
        int listen(const char *host, int port);
65
 
66
        SocketStream* accept();
67
 
68
        int connect(const char *host, int port);
69
 
70
    // read from the socket
71
    int get(void *data, int number);
72
 
73
    // write to socket
74
    int put(const void *data, int number);
75
 
76
        bool isAlive()
77
        {
78
                return bIsAlive;
79
        }
80
 
81
};
82
 
83
#endif /* SOCKETSTREAM_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.