Panda3D
Public Member Functions | Static Public Member Functions

Socket_TCP_Listen Class Reference

Base functionality for a TCP rendezvous socket. More...

#include "socket_tcp_listen.h"

Inheritance diagram for Socket_TCP_Listen:
Socket_IP TypedObject MemoryBase

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 GetIncomingConnection (Socket_TCP &newsession, Socket_Address &address)
bool GetIncomingConnection (SOCKET &newsession, Socket_Address &address)
 This function is used to accept new connections.
Socket_Address GetPeerName (void) const
 Wrapper on berkly getpeername...
SOCKET GetSocket () const
 Get The RAW file id of the socket.
SOCKET GetSocket ()
 Gets the base socket type.
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 OpenForListen (const Socket_Address &Inaddess, int backlog_size=1024)
 This function will initialize a listening Socket.
void operator delete (void *ptr, void *)
void operator delete (void *ptr)
void operator delete[] (void *, void *)
void operator delete[] (void *ptr)
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)
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.

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 TCP rendezvous socket.

Definition at line 11 of file socket_tcp_listen.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().

bool Socket_TCP_Listen::GetIncomingConnection ( SOCKET &  newsession,
Socket_Address address 
) [inline]

This function is used to accept new connections.

Definition at line 65 of file socket_tcp_listen.h.

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(), Socket_UDP_Incoming::GetPacket(), and ConnectionListener::process_incoming_data().

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 Socket_UDP_Incoming::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_TCP_Listen::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.

Definition at line 26 of file socket_tcp_listen.h.

References Socket_IP::init_type().

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_TCP_Listen::OpenForListen ( const Socket_Address Inaddess,
int  backlog_size = 1024 
) [inline]

This function will initialize a listening Socket.

Definition at line 44 of file socket_tcp_listen.h.

References Socket_IP::SetReuseAddress().

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(), 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().


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