00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef ASSOC_DATA_H
00032 #define ASSOC_DATA_H
00033
00034 #include "address.h"
00035
00036 namespace protlib {
00037
00043 typedef int socketfd_t;
00044 typedef unsigned int associd_t;
00045
00048 struct AssocData {
00049 AssocData(socketfd_t socketfd,
00050 const appladdress& peeraddress,
00051 const appladdress& ownaddress):
00052 socketfd(socketfd),
00053 assoc(0),
00054 peer(peeraddress),
00055 ownaddr(ownaddress),
00056 thread_ID(0),
00057 num_of_out_streams(0),
00058 shutdown(false),
00059 touched(true)
00060 {};
00061
00062 AssocData(associd_t ass, const appladdress& ap, const appladdress& oa, uint32 streams)
00063 : socketfd(0),
00064 assoc(ass),
00065 peer(ap),
00066 ownaddr(oa),
00067 thread_ID(0),
00068 num_of_out_streams(streams),
00069 shutdown(false),
00070 touched(true)
00071 {};
00072
00073 AssocData(associd_t ass, const char* apstr, protocol_t proto, port_t port, uint32 streams, bool& res)
00074 : socketfd(0),
00075 assoc(ass),
00076 peer(apstr,proto,port,&res),
00077 thread_ID(0),
00078 num_of_out_streams(streams),
00079 shutdown(false),
00080 touched(true)
00081 {};
00082
00083
00084 const socketfd_t socketfd;
00085 const associd_t assoc;
00086
00087 const appladdress peer;
00088 const appladdress ownaddr;
00089
00090 pthread_t thread_ID;
00091
00092 const uint32 num_of_out_streams;
00093
00094
00095
00096 bool shutdown;
00097
00098 bool touched;
00099 };
00100
00102
00103 }
00104 #endif