---
name: "ACE_QoS"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_QoS"
---

# ACE\_QoS(3)

Wrapper class that holds the sender and receiver flow spec information, which is used by IntServ (RSVP) and DiffServ.

## NAME

ACE\_QoS -  Wrapper class that holds the sender and receiver flow spec information, which is used by IntServ (RSVP) and DiffServ.

## SYNOPSIS

```
#include <ace/OS.h>
class ACE_QoS : public QOS
{
  public:
    ACE_Flow_Spec sending_flowspec (void);
    void sending_flowspec (const ACE_Flow_Spec &fs);
    ACE_Flow_Spec receiving_flowspec (void);
    void receiving_flowspec (const ACE_Flow_Spec &fs);
    iovec provider_specific (void);
    void provider_specific (const iovec &ps);
    class ACE_QoS_Params
    {
      public:
        ACE_QoS_Params (
            iovec *caller_data = 0,
            iovec *callee_data = 0,
            ACE_QoS *socket_qos = 0,
            ACE_QoS *group_socket_qos = 0,
            u_long flags = 0
            );
        iovec *caller_data (void) const;
        void caller_data (iovec *);
        iovec *callee_data (void) const;
        void callee_data (iovec *);
        ACE_QoS *socket_qos (void) const;
        void socket_qos (ACE_QoS *);
        ACE_QoS *group_socket_qos (void) const;
        void group_socket_qos (ACE_QoS *);
        u_long flags (void) const;
        void flags (u_long);
      private:
        iovec *caller_data_;
        iovec *callee_data_;
        ACE_QoS *socket_qos_;
        ACE_QoS *group_socket_qos_;
        u_long flags_;
    };
```

    ACE\_OS\_Object\_Manager (void);     ~ACE\_OS\_Object\_Manager (void);\
   private:     static sigset\_t \*default\_mask (void);     static ACE\_Thread\_Hook \*thread\_hook (void);     static ACE\_Thread\_Hook \*thread\_hook (\
         ACE\_Thread\_Hook \*new\_thread\_hook\
         );     static ACE\_OS\_Object\_Manager \*instance (void);     static ACE\_OS\_Object\_Manager \*instance\_;     static void \*preallocated\_object\[ACE\_OS\_PREALLOCATED\_OBJECTS\];     sigset\_t \*default\_mask\_;     ACE\_Thread\_Hook \*thread\_hook\_;     ACE\_OS\_Exit\_Info exit\_info\_;     int at\_exit (ACE\_EXIT\_HOOK func);     static void print\_error\_message (\
         u\_int line\_number,\
         LPCTSTR message\
         );     friend class ACE\_OS;     friend class ACE\_Object\_Manager;     friend class ACE\_OS\_Object\_Manager\_Manager;     friend class ACE\_TSS\_Cleanup;     friend class ACE\_TSS\_Emulation;     friend class ACE\_Log\_Msg;     friend void ACE\_OS\_Object\_Manager\_Internal\_Exit\_Hook (); };

## Get/set the flow spec for data sending.

```
ACE_Flow_Spec sending_flowspec (void);
```

```
void sending_flowspec (const ACE_Flow_Spec &fs);
```

## Get/set the flow spec for data receiving.

```
ACE_Flow_Spec receiving_flowspec (void);
```

```
void receiving_flowspec (const ACE_Flow_Spec &fs);
```

## Get/set the provider specific information.

```
iovec provider_specific (void);
```

```
void provider_specific (const iovec &ps);
```

## Applications shouldn't use these so they're hidden here.

They're public so that the ACE\_Object\_Manager can be constructed/destructed in main with ACE\_HAS\_NONSTATIC\_OBJECT\_MANAGER.

```
ACE_OS_Object_Manager (void);
```

Constructor.

```
~ACE_OS_Object_Manager (void);
```

Destructor.

## AUTHOR

Doug Schmidt schmidt@cs.wustl.edu, Jesper S. M\|ller stophph@diku.dk, and a cast of thousands...

## The ACE\_Sched\_Priority type should be used for platform-

independent thread and process priorities, by convention. int should be used for OS-specific priorities.

## typedef for the \_stat data structure

## Giving unique ACE scoped names for some important

RTSignal-Related constants. Becuase sometimes, different platforms use different names for these constants.

## LIBRARY

ace
