Panda3D
Public Member Functions | Static Public Member Functions

Socket_UDP_Incoming Class Reference

Base functionality for a UDP Reader. More...

#include "socket_udp_incoming.h"

Inheritance diagram for Socket_UDP_Incoming:
Socket_IP TypedObject MemoryBase Socket_UDP

List of all members.

Public Member Functions

bool Active ()
 Ask if the socket is open (allocated)
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer.
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer.
void Close ()
 closes a socket if it is open (allocated)
virtual TypeHandle force_init_type ()
int get_best_parent_from_Set (const std::set< int > &) const
virtual TypeHandle get_type () const
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
bool GetPacket (char *data, int *max_len, Socket_Address &address)
 Grabs a dataset off the listening UDP socket and fills in the source address information.
Socket_Address GetPeerName (void) const
 Wrapper on berkly getpeername...
SOCKET GetSocket ()
 Gets the base socket type.
SOCKET GetSocket () const
 Get The RAW file id of the socket.
bool InitNoAddress ()
 Set this socket to work with out a bound external address.
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.
bool OpenForInput (const Socket_Address &address)
 Starts a UDP socket listening on a port.
bool OpenForInputMCast (const Socket_Address &address)
 Starts a UDP socket listening on a port.
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete[] (void *ptr)
void operator delete[] (void *, void *)
void * operator new (size_t size, void *ptr)
void * operator new (size_t size)
void * operator new[] (size_t size, void *ptr)
void * operator new[] (size_t size)
bool SendTo (const char *data, int len, const Socket_Address &address)
 Send data to specified address.
int SetBlocking ()
 Set the socket to block on subsequent calls to socket functions that address this socket.
int SetNonBlocking ()
 this function will throw a socket into non-blocking mode
int SetRecvBufferSize (int size)
 Ok it sets the recv buffer size for both tcp and UDP.
bool SetReuseAddress (bool flag=true)
 Informs a socket to reuse IP address as needed.
void SetSocket (SOCKET ins)
 Assigns an existing socket to this class.
bool SetToBroadCast ()
 Flips the OS bits that allow for brodcast packets to com in on this port.

Static Public Member Functions

static TypeHandle get_class_type ()
static int GetLastError ()
 gets the last errcode from a socket operation
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96.
static int InitNetworkDriver ()

Detailed Description

Base functionality for a UDP Reader.

Definition at line 14 of file socket_udp_incoming.h.


Member Function Documentation

bool Socket_IP::Active ( ) [inline, inherited]

Ask if the socket is open (allocated)

Definition at line 105 of file socket_ip.h.

Referenced by Socket_IP::Close().

TypedObject * TypedObject::as_typed_object ( ) [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 99 of file typedObject.I.

const TypedObject * TypedObject::as_typed_object ( ) const [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 110 of file typedObject.I.

void Socket_IP::Close ( ) [inline, inherited]
int TypedObject::get_type_index ( ) const [inline, inherited]

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 52 of file typedObject.I.

References TypeHandle::get_index().

int Socket_IP::GetLastError ( ) [inline, static, inherited]

gets the last errcode from a socket operation

Definition at line 152 of file socket_ip.h.

Referenced by Buffered_DatagramConnection::Flush(), GetPacket(), and ConnectionListener::process_incoming_data().

bool Socket_UDP_Incoming::GetPacket ( char *  data,
int *  max_len,
Socket_Address address 
) [inline]

Grabs a dataset off the listening UDP socket and fills in the source address information.

Return type : bool Argument : char * data Argument : int *max_len Argument : NetAddress & address

Definition at line 137 of file socket_udp_incoming.h.

References Socket_IP::GetLastError().

Socket_Address Socket_IP::GetPeerName ( void  ) const [inline, inherited]

Wrapper on berkly getpeername...

Definition at line 257 of file socket_ip.h.

Referenced by Connection::get_address().

SOCKET Socket_IP::GetSocket ( ) [inline, inherited]

Gets the base socket type.

Definition at line 240 of file socket_ip.h.

Referenced by Socket_fdset::IsSetFor(), and OpenForInputMCast().

SOCKET Socket_IP::GetSocket ( ) const [inline, inherited]

Get The RAW file id of the socket.

Definition at line 249 of file socket_ip.h.

static void Socket_UDP_Incoming::init_type ( ) [inline, static]

This function is declared non-inline to work around a compiler bug in g++ 2.96.

Making it inline seems to cause problems in the optimizer.

Reimplemented from Socket_IP.

Reimplemented in Socket_UDP.

Definition at line 30 of file socket_udp_incoming.h.

References Socket_IP::init_type().

Referenced by Socket_UDP::init_type().

bool Socket_UDP_Incoming::InitNoAddress ( ) [inline]

Set this socket to work with out a bound external address.

Return type : inline bool Argument : void

Reimplemented in Socket_UDP.

Definition at line 66 of file socket_udp_incoming.h.

References Socket_IP::Close().

bool TypedObject::is_exact_type ( TypeHandle  handle) const [inline, inherited]
bool TypedObject::is_of_type ( TypeHandle  handle) const [inline, inherited]

Returns true if the current object is or derives from the indicated type.

Definition at line 63 of file typedObject.I.

References TypeHandle::is_derived_from().

Referenced by EggSliderData::add_back_pointer(), EggJointData::add_back_pointer(), CIntervalManager::add_c_interval(), XFileNode::add_child(), CollisionTraverser::add_collider(), CollisionHandlerPhysical::add_collider(), EggXfmSAnim::add_data(), CharacterJointBundle::add_node(), NonlinearImager::add_screen(), EggGroupNode::apply_first_attribute(), EggGroupNode::apply_last_attribute(), DeferredNodeProperty::apply_to_node(), RecorderController::begin_playback(), NodePath::clear_clip_plane(), EggGroupNode::clear_connected_shading(), NodePath::clear_light(), EggBase::convert_paths(), NodePath::decode_from_bam_stream(), VrpnClient::disconnect_device(), PhysicsManager::do_physics(), GraphicsStateGuardian::fetch_specified_part(), EggRenderState::fill_state(), AnimBundleNode::find_anim_bundle(), EggGroupNode::find_coordsys_entry(), XFile::find_data_object(), Character::find_joint(), EggGroupNode::find_materials(), Character::find_slider(), XFile::find_template(), EggGroupNode::find_textures(), EggMaterialCollection::find_used_materials(), EggTextureCollection::find_used_textures(), EggGroupNode::force_filenames(), EggJointData::force_initial_rest_frame(), WindowFramework::get_aspect_2d(), EggPoolUniquifier::get_category(), EggGroupUniquifier::get_category(), EggGroupNode::get_connected_shading(), PandaFramework::get_mouse(), FactoryParams::get_param_of_type(), EggGroupNode::has_absolute_pathnames(), NodePath::has_clip_plane(), NodePath::has_clip_plane_off(), NodePath::has_light(), PandaFramework::hide_collision_solids(), x11GraphicsWindow::open_window(), eglGraphicsWindow::open_window(), EggNode::parse_egg(), CharacterMaker::part_to_node(), EggGroupNode::post_apply_flat_attribute(), EggBinner::prepare_node(), PortalClipper::prepare_portal(), NodePath::project_texture(), EggMatrixTablePointer::quantize_channels(), ParametricCurveCollection::r_add_curves(), SceneGraphReducer::r_collect_vertex_data(), EggGroupNode::r_load_externals(), EggGroupNode::rebuild_vertex_pools(), EggGroupNode::recompute_polygon_normals(), EggGroupNode::remove_invalid_primitives(), EggGroupNode::remove_unused_vertices(), EggLoader::reparent_decals(), EggMaterialCollection::replace_materials(), EggTextureCollection::replace_textures(), EggGroupNode::resolve_filenames(), EggGroupNode::reverse_vertex_ordering(), NodePath::set_clip_plane(), NodePath::set_clip_plane_off(), NodePath::set_light(), ProjectionScreen::set_projector(), NonlinearImager::set_source_camera(), EggXfmSAnim::set_value(), NonlinearImager::set_viewer_camera(), PandaFramework::show_collision_solids(), BamCache::store(), XFileToEggConverter::strip_nodes(), EggGroupNode::strip_normals(), DataGraphTraverser::traverse(), DataGraphTraverser::traverse_below(), EggGroupNode::triangulate_polygons(), EggGroupNode::unify_attributes(), EggNameUniquifier::uniquify(), NodeCullCallbackData::upcall(), PhysicsCollisionHandler::validate_target(), EggXfmSAnim::write(), EggGroup::write(), EggToDXFLayer::write_3d_face(), and EggToDXFLayer::write_entities().

bool Socket_UDP_Incoming::OpenForInput ( const Socket_Address address) [inline]

Starts a UDP socket listening on a port.

Return type : bool Argument : NetAddress & address

Definition at line 83 of file socket_udp_incoming.h.

References Socket_IP::Close().

bool Socket_UDP_Incoming::OpenForInputMCast ( const Socket_Address address) [inline]

Starts a UDP socket listening on a port.

Return type : bool Argument : NetAddress & address

Definition at line 103 of file socket_udp_incoming.h.

References Socket_IP::Close(), Socket_Address::get_port(), and Socket_IP::GetSocket().

bool Socket_UDP_Incoming::SendTo ( const char *  data,
int  len,
const Socket_Address address 
) [inline]

Send data to specified address.

Return type : inline bool Argument : char * data Argument : int len Argument : NetAddress & address

Reimplemented in Socket_UDP.

Definition at line 161 of file socket_udp_incoming.h.

int Socket_IP::SetBlocking ( ) [inline, inherited]

Set the socket to block on subsequent calls to socket functions that address this socket.

Definition at line 207 of file socket_ip.h.

int Socket_IP::SetNonBlocking ( ) [inline, inherited]

this function will throw a socket into non-blocking mode

Definition at line 183 of file socket_ip.h.

Referenced by Socket_TCP::ActiveOpenNonBlocking(), and Connection::Connection().

int Socket_IP::SetRecvBufferSize ( int  size) [inline, inherited]

Ok it sets the recv buffer size for both tcp and UDP.

Definition at line 171 of file socket_ip.h.

Referenced by Connection::set_recv_buffer_size().

bool Socket_IP::SetReuseAddress ( bool  flag = true) [inline, inherited]

Informs a socket to reuse IP address as needed.

Definition at line 228 of file socket_ip.h.

Referenced by Socket_TCP::ActiveOpenNonBlocking(), Socket_TCP_Listen::OpenForListen(), and Connection::set_reuse_addr().

void Socket_IP::SetSocket ( SOCKET  ins) [inline, inherited]

Assigns an existing socket to this class.

Definition at line 161 of file socket_ip.h.

References Socket_IP::Close().

bool Socket_UDP_Incoming::SetToBroadCast ( ) [inline]

Flips the OS bits that allow for brodcast packets to com in on this port.

Return type : bool Argument : void

Reimplemented in Socket_UDP.

Definition at line 52 of file socket_udp_incoming.h.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations