Data Structures | Functions | Variables

P_UDPPacket.h File Reference

A brief file description. More...

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

Go to the source code of this file.

Data Structures

class  UDPPacketInternal

Functions

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

Variables

inkcoreapi ClassAllocator
< UDPPacketInternal
udpPacketAllocator

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 P_UDPPacket.h.


Function Documentation

TS_INLINE UDPPacket* new_incoming_UDPPacket ( struct sockaddr *  from,
char *  buf,
int  len 
)
TS_INLINE 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.

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.

TS_INLINE UDPPacket* new_UDPPacket ( ink_hrtime  when,
Ptr< IOBufferBlock buf 
)

Definition at line 225 of file P_UDPPacket.h.

References new_UDPPacket().

TS_INLINE UDPPacket* new_UDPPacket ( struct sockaddr const *  to,
ink_hrtime  when,
Ptr< IOBufferBlock buf 
)
TS_INLINE 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().


Variable Documentation

inkcoreapi ClassAllocator<UDPPacketInternal> udpPacketAllocator