00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef ACE_QOS_SESSION_IMPL_H
00015 #define ACE_QOS_SESSION_IMPL_H
00016 #include "ace/pre.h"
00017
00018 #include "ace/QoS/QoS_Session.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024
00025 #if defined (ACE_HAS_RAPI)
00026 #include "rapi_lib.h"
00027
00028 #define DEFAULT_SOURCE_SENDER_PORT 10001
00029
00030 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 class ACE_QoS_Export ACE_RAPI_Session : public ACE_QoS_Session
00041 {
00042
00043 public:
00044
00045
00046 ~ACE_RAPI_Session (void);
00047
00048
00049 static int rsvp_error;
00050
00051
00052 virtual int open (ACE_INET_Addr dest_addr,
00053 ACE_Protocol_ID protocol_id);
00054
00055
00056 virtual int close (void);
00057
00058
00059 virtual ACE_QoS qos (void) const;
00060
00061
00062
00063 virtual int qos (ACE_SOCK *socket,
00064 ACE_QoS_Manager *qos_manager,
00065 const ACE_QoS &ace_qos);
00066
00067
00068
00069
00070
00071
00072
00073
00074 virtual void qos (const ACE_QoS &ace_qos);
00075
00076
00077
00078
00079
00080
00081 virtual int update_qos (void);
00082
00083
00084 virtual ACE_End_Point_Type flags (void) const;
00085
00086
00087 virtual void flags (const ACE_End_Point_Type flags);
00088
00089
00090 virtual int session_id (void) const;
00091
00092
00093 virtual void session_id (const int session_id);
00094
00095
00096 virtual ACE_HANDLE rsvp_events_handle (void);
00097
00098
00099 virtual void rsvp_event_type (RSVP_Event_Type event_type);
00100
00101
00102 virtual RSVP_Event_Type rsvp_event_type (void);
00103
00104
00105 virtual ACE_INET_Addr dest_addr (void) const;
00106
00107
00108 virtual void dest_addr (const ACE_INET_Addr &dest_addr);
00109
00110
00111 virtual u_short source_port (void) const;
00112
00113
00114 virtual void source_port (const u_short &source_port);
00115
00116
00117 virtual ACE_INET_Addr* source_addr (void) const;
00118
00119
00120 virtual void source_addr (ACE_INET_Addr* source_addr);
00121
00122
00123 virtual int version ();
00124
00125
00126
00127 friend class ACE_QoS_Session_Factory;
00128
00129 private:
00130
00131
00132
00133 ACE_RAPI_Session (void);
00134
00135
00136
00137 rapi_tspec_t *init_tspec_simplified (const ACE_Flow_Spec &flow_spec);
00138
00139
00140
00141 rapi_flowspec_t *init_flowspec_simplified(const ACE_Flow_Spec &flow_spec);
00142
00143
00144 int sending_qos (const ACE_QoS &ace_qos);
00145
00146
00147 int receiving_qos (const ACE_QoS &ace_qos);
00148
00149 };
00150
00151 ACE_END_VERSIONED_NAMESPACE_DECL
00152
00153 #endif
00154
00155 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165 class ACE_QoS_Export ACE_GQoS_Session : public ACE_QoS_Session
00166 {
00167
00168 public:
00169
00170
00171 ~ACE_GQoS_Session (void);
00172
00173
00174
00175 static int GQoS_session_id;
00176
00177
00178 virtual int open (ACE_INET_Addr dest_addr,
00179 ACE_Protocol_ID protocol_id);
00180
00181
00182 virtual int close (void);
00183
00184
00185 virtual ACE_QoS qos (void) const;
00186
00187
00188
00189 virtual int qos (ACE_SOCK *socket,
00190 ACE_QoS_Manager *qos_manager,
00191 const ACE_QoS &ace_qos);
00192
00193
00194
00195
00196
00197
00198
00199
00200 virtual void qos (const ACE_QoS &ace_qos);
00201
00202
00203
00204 virtual int update_qos (void);
00205
00206
00207 virtual ACE_End_Point_Type flags (void) const;
00208 virtual void flags (const ACE_End_Point_Type flags);
00209
00210
00211 virtual ACE_INET_Addr dest_addr (void) const;
00212
00213
00214 virtual void dest_addr (const ACE_INET_Addr &dest_addr);
00215
00216
00217 virtual u_short source_port (void) const;
00218
00219
00220 virtual void source_port (const u_short &source_port);
00221
00222
00223 virtual ACE_INET_Addr* source_addr (void) const;
00224
00225
00226 virtual void source_addr (ACE_INET_Addr* source_addr);
00227
00228
00229 virtual int session_id (void) const;
00230
00231
00232 virtual void session_id (const int session_id);
00233
00234
00235 virtual ACE_HANDLE rsvp_events_handle (void);
00236
00237 virtual void rsvp_event_type (RSVP_Event_Type event_type);
00238
00239
00240 virtual RSVP_Event_Type rsvp_event_type (void);
00241
00242
00243
00244 virtual int version ();
00245
00246
00247
00248 friend class ACE_QoS_Session_Factory;
00249
00250 private:
00251
00252
00253
00254 ACE_GQoS_Session (void);
00255
00256 };
00257
00258 ACE_END_VERSIONED_NAMESPACE_DECL
00259
00260 #if defined (__ACE_INLINE__)
00261 #include "QoS_Session_Impl.inl"
00262 #endif
00263
00264 #include "ace/post.h"
00265 #endif