# ACE_SOCK_Dgram_SC< STREAM > Class Template Reference

"Dgram_SC" is short for "Datagram Self-Contained." More...

`#include <IOStream_T.h>`

Collaboration diagram for ACE_SOCK_Dgram_SC< STREAM >:

[legend]
List of all members.

## Public Member Functions

| ACE_SOCK_Dgram_SC (void)
| ACE_SOCK_Dgram_SC (STREAM &source, ACE_INET_Addr &dest)
ssize_t | send_n (char *buf, ssize_t len)
ssize_t | recv (char *buf, ssize_t len, ACE_Time_Value *tv=0)
ssize_t | recv (char *buf, ssize_t len, int flags, ACE_Time_Value *tv=0)
ssize_t | recv_n (char *buf, ssize_t len, int flags=0, ACE_Time_Value *tv=0)
int | get_remote_addr (ACE_INET_Addr &addr) const

## Protected Attributes

ACE_INET_Addr | peer_

## Detailed Description

### template<class STREAM>
class ACE_SOCK_Dgram_SC< STREAM >

"Dgram_SC" is short for "Datagram Self-Contained."

Datagrams don't have the notion of a "peer". Each send and receive on a datagram can go to a different peer if you want. If you're using datagrams for stream activity, you probably want 'em all to go to (and come from) the same place. That's what this class is for. Here, we keep an address object so that we can remember who last sent us data. When we write back, we're then able to write back to that same address.

## Constructor & Destructor Documentation

template<class STREAM>
ACE_INLINE ACE_SOCK_Dgram_SC< STREAM >::ACE_SOCK_Dgram_SC | ( | void |  | ) |

template<class STREAM>
ACE_INLINE ACE_SOCK_Dgram_SC< STREAM >::ACE_SOCK_Dgram_SC | ( | STREAM & | source,
|  | ACE_INET_Addr & | dest
| ) |

## Member Function Documentation

template<class STREAM>
ACE_INLINE int ACE_SOCK_Dgram_SC< STREAM >::get_remote_addr | ( | ACE_INET_Addr & | addr | ) | const

template<class STREAM>
ACE_INLINE ssize_t ACE_SOCK_Dgram_SC< STREAM >::recv | ( | char * | buf,
|  | ssize_t | len,
|  | int | flags,
|  | ACE_Time_Value * | tv = `0`
| ) |

template<class STREAM>
ACE_INLINE ssize_t ACE_SOCK_Dgram_SC< STREAM >::recv | ( | char * | buf,
|  | ssize_t | len,
|  | ACE_Time_Value * | tv = `0`
| ) |

template<class STREAM>
ACE_INLINE ssize_t ACE_SOCK_Dgram_SC< STREAM >::recv_n | ( | char * | buf,
|  | ssize_t | len,
|  | int | flags = `0`,
|  | ACE_Time_Value * | tv = `0`
| ) |

template<class STREAM>
ACE_INLINE ssize_t ACE_SOCK_Dgram_SC< STREAM >::send_n | ( | char * | buf,
|  | ssize_t | len
| ) |

## Member Data Documentation

template<class STREAM>
ACE_INET_Addr ACE_SOCK_Dgram_SC< STREAM >::peer_`[protected]`

The documentation for this class was generated from the following files:

- IOStream_T.h
- IOStream_T.inl