Data Structures

I_UDPPacket.h File Reference

A brief file description. More...

#include "I_UDPConnection.h"
Include dependency graph for I_UDPPacket.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  UDPPacket
 UDP data with destination. More...

Functions

UDPPacket

UDP packet functions used by UDPConnection

UDPPacketnew_UDPPacket (struct sockaddr const *to, ink_hrtime when=0, char *buf=NULL, int len=0)
 Create a new packet to be sent over UDPConnection.
TS_INLINE UDPPacketnew_UDPPacket (struct sockaddr const *to, ink_hrtime when=0, IOBufferBlock *block=NULL, int len=0)
 Create a new packet to be sent over UDPConnection.
UDPPacketnew_UDPPacket ()
 Create a new packet to be sent over UDPConnection.
UDPPacketnew_incoming_UDPPacket (struct sockaddr *from, char *buf, int len)
 Create a new packet to be delivered to application.

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file I_UDPPacket.h.


Function Documentation

UDPPacket* new_incoming_UDPPacket ( struct sockaddr *  from,
char *  buf,
int  len 
)
TS_INLINE UDPPacket* new_UDPPacket ( struct sockaddr const *  to,
ink_hrtime  when = 0,
IOBufferBlock block = NULL,
int  len = 0 
)

Create a new packet to be sent over UDPConnection.

This clones and makes a reference to an existing IOBufferBlock chain.

Parameters:
to address of where to send packet
when ink_hrtime relative to ink_get_hrtime_internal()
block if !NULL, then the IOBufferBlock chain of data to use for packet
len # of bytes to reference from block

Definition at line 191 of file P_UDPPacket.h.

References UDPPacket::append_block(), ats_ip_copy(), IOBufferBlock::clone(), UDPPacketInternal::delivery_time, UDPPacketInternal::in_heap, UDPPacketInternal::in_the_priority_queue, IOBufferBlock::next, UDPPacket::to, and udpPacketAllocator.

UDPPacket* new_UDPPacket (  ) 

Create a new packet to be sent over UDPConnection.

Packet has no destination or data.

Definition at line 250 of file P_UDPPacket.h.

References udpPacketAllocator.

UDPPacket* new_UDPPacket ( struct sockaddr const *  to,
ink_hrtime  when = 0,
char *  buf = NULL,
int  len = 0 
)

Create a new packet to be sent over UDPConnection.

This actually copies data from a buffer.

Parameters:
to address of where to send packet
when ink_hrtime relative to ink_get_hrtime_internal()
buf if !NULL, then len bytes copied from buf and made into packet.
len # of bytes to copy from buf

Definition at line 170 of file P_UDPPacket.h.

References IOBufferBlock::alloc(), UDPPacket::append_block(), ats_ip_copy(), UDPPacketInternal::delivery_time, IOBufferBlock::end(), IOBufferBlock::fill(), UDPPacketInternal::in_heap, UDPPacketInternal::in_the_priority_queue, iobuffer_size_to_index(), memcpy, new_IOBufferBlock, UDPPacket::to, and udpPacketAllocator.

Referenced by INKUDPPacketCreate(), INKUDPSendTo(), and new_UDPPacket().