1412104997 2 2 16 libp3distributed 4 nqI8 14 panda3d.direct 60 62 21 CConnectionRepository 0 4 122 44 CConnectionRepository::CConnectionRepository 0 3 1 2 3 234 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 97 CConnectionRepository::CConnectionRepository(bool has_owner_view = (0), bool threaded_net = (0)); 63 22 ~CConnectionRepository 0 4 122 45 CConnectionRepository::~CConnectionRepository 0 0 233 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 CConnectionRepository::~CConnectionRepository(void); 64 11 get_dc_file 0 4 122 34 CConnectionRepository::get_dc_file 0 1 4 1346 // Any methods of this class that acquire _lock (which is most of // them) *must* be tagged BLOCKING, to avoid risk of a race // condition in Python when running in true threaded mode. The // BLOCKING tag releases the Python GIL during the function call, // and we re-acquire it when needed within these functions to call // out to Python. If any functions acquire _lock while already // holding the Python GIL, there could be a deadlock between these // functions and the ones that are acquiring the GIL while already // holding _lock. // Filename: cConnectionRepository.I // Created by: drose (17May04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_dc_file // Access: Published // Description: Returns the DCFile object associated with this // repository. //////////////////////////////////////////////////////////////////// 56 inline DCFile &CConnectionRepository::get_dc_file(void); 65 14 has_owner_view 0 4 122 37 CConnectionRepository::has_owner_view 0 1 5 332 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::has_owner_view // Access: Published // Description: Returns true if this repository can have 'owner' // views of distributed objects. //////////////////////////////////////////////////////////////////// 62 inline bool CConnectionRepository::has_owner_view(void) const; 66 20 set_handle_c_updates 0 4 122 43 CConnectionRepository::set_handle_c_updates 0 1 6 416 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_handle_c_updates // Access: Published // Description: Set true to specify this repository should process // distributed updates internally in C++ code, or false // if it should return them to Python. //////////////////////////////////////////////////////////////////// 79 inline void CConnectionRepository::set_handle_c_updates(bool handle_c_updates); 67 20 get_handle_c_updates 0 4 122 43 CConnectionRepository::get_handle_c_updates 0 1 7 408 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_handle_c_updates // Access: Published // Description: Returns true if this repository will process // distributed updates internally in C++ code, or false // if it will return them to Python. //////////////////////////////////////////////////////////////////// 68 inline bool CConnectionRepository::get_handle_c_updates(void) const; 68 19 set_client_datagram 0 4 122 42 CConnectionRepository::set_client_datagram 0 1 8 588 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_client_datagram // Access: Published // Description: Sets the client_datagram flag. If this is true, // incoming datagrams are not expected to be prefixed // with the server routing information like message // sender, channel number, etc.; otherwise, these server // fields are parsed and removed from each incoming // datagram. //////////////////////////////////////////////////////////////////// 77 inline void CConnectionRepository::set_client_datagram(bool client_datagram); 69 19 get_client_datagram 0 4 122 42 CConnectionRepository::get_client_datagram 0 1 9 275 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_client_datagram // Access: Published // Description: Returns the client_datagram flag. //////////////////////////////////////////////////////////////////// 67 inline bool CConnectionRepository::get_client_datagram(void) const; 70 31 set_handle_datagrams_internally 0 4 122 54 CConnectionRepository::set_handle_datagrams_internally 0 1 10 654 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_handle_datagrams_internally // Access: Published // Description: Sets the handle_datagrams_internally flag. When // true, certain message types can be handled by the C++ // code in in this module. When false, all datagrams, // regardless of message type, are passed up to Python // for processing. // // The CMU distributed-object implementation requires // this to be set false. //////////////////////////////////////////////////////////////////// 101 inline void CConnectionRepository::set_handle_datagrams_internally(bool handle_datagrams_internally); 71 31 get_handle_datagrams_internally 0 4 122 54 CConnectionRepository::get_handle_datagrams_internally 0 1 11 299 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_handle_datagrams_internally // Access: Published // Description: Returns the handle_datagrams_internally flag. //////////////////////////////////////////////////////////////////// 79 inline bool CConnectionRepository::get_handle_datagrams_internally(void) const; 72 19 set_tcp_header_size 0 4 122 42 CConnectionRepository::set_tcp_header_size 0 1 12 557 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_tcp_header_size // Access: Public // Description: Sets the header size of TCP packets. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 69 void CConnectionRepository::set_tcp_header_size(int tcp_header_size); 73 19 get_tcp_header_size 0 4 122 42 CConnectionRepository::get_tcp_header_size 0 1 13 330 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_tcp_header_size // Access: Public // Description: Returns the current setting of TCP header size. // See set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 66 inline int CConnectionRepository::get_tcp_header_size(void) const; 74 21 set_python_repository 0 4 122 44 CConnectionRepository::set_python_repository 0 1 14 478 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_python_repository // Access: Published // Description: Records the pointer to the Python class that derives // from CConnectionRepository. This allows the C++ // implementation to directly manipulation some python // structures on the repository. //////////////////////////////////////////////////////////////////// 86 inline void CConnectionRepository::set_python_repository(PyObject *python_repository); 75 19 set_connection_http 0 4 122 42 CConnectionRepository::set_connection_http 0 1 15 476 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_connection_http // Access: Published // Description: Once a connection has been established via the HTTP // interface, gets the connection and uses it. The // supplied HTTPChannel object must have a connection // available via get_connection(). //////////////////////////////////////////////////////////////////// 70 void CConnectionRepository::set_connection_http(HTTPChannel *channel); 76 10 get_stream 0 4 122 33 CConnectionRepository::get_stream 0 1 16 413 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_stream // Access: Published // Description: Returns the SocketStream that internally represents // the already-established HTTP connection. Returns // NULL if there is no current HTTP connection. //////////////////////////////////////////////////////////////////// 54 SocketStream *CConnectionRepository::get_stream(void); 77 15 try_connect_net 0 4 122 38 CConnectionRepository::try_connect_net 0 1 17 413 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::try_connect_net // Access: Published // Description: Uses Panda's "net" library to try to connect to the // server and port named in the indicated URL. Returns // true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 64 bool CConnectionRepository::try_connect_net(URLSpec const &url); 78 7 get_qcm 0 4 122 30 CConnectionRepository::get_qcm 0 1 18 321 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_qcm // Access: Published // Description: Returns the QueuedConnectionManager object associated // with the repository. //////////////////////////////////////////////////////////////////// 69 inline QueuedConnectionManager &CConnectionRepository::get_qcm(void); 79 6 get_cw 0 4 122 29 CConnectionRepository::get_cw 0 1 19 313 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_cw // Access: Published // Description: Returns the ConnectionWriter object associated // with the repository. //////////////////////////////////////////////////////////////////// 61 inline ConnectionWriter &CConnectionRepository::get_cw(void); 80 7 get_qcr 0 4 122 30 CConnectionRepository::get_qcr 0 1 20 320 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_qcr // Access: Published // Description: Returns the QueuedConnectionReader object associated // with the repository. //////////////////////////////////////////////////////////////////// 68 inline QueuedConnectionReader &CConnectionRepository::get_qcr(void); 81 14 check_datagram 0 4 122 37 CConnectionRepository::check_datagram 0 1 21 514 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::check_datagram // Access: Published // Description: Returns true if a new datagram is available, false // otherwise. If the return value is true, the new // datagram may be retrieved via get_datagram(), or // preferably, with get_datagram_iterator() and // get_msg_type(). //////////////////////////////////////////////////////////////////// 49 bool CConnectionRepository::check_datagram(void); 82 12 get_datagram 0 4 122 35 CConnectionRepository::get_datagram 0 1 22 340 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_datagram // Access: Published // Description: Fills the datagram object with the datagram most // recently retrieved by check_datagram(). //////////////////////////////////////////////////////////////////// 62 inline void CConnectionRepository::get_datagram(Datagram &dg); 83 21 get_datagram_iterator 0 4 122 44 CConnectionRepository::get_datagram_iterator 0 1 23 548 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_datagram_iterator // Access: Published // Description: Fills the DatagramIterator object with the iterator // for the datagram most recently retrieved by // check_datagram(). This iterator has already read // past the datagram header and the message type, and is // positioned at the beginning of data. //////////////////////////////////////////////////////////////////// 79 inline void CConnectionRepository::get_datagram_iterator(DatagramIterator &di); 84 15 get_msg_channel 0 4 122 38 CConnectionRepository::get_msg_channel 0 2 24 25 418 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_channel // Access: Published // Description: Returns the channel(s) to which the current message // was sent, according to the datagram headers. This // information is not available to the client. //////////////////////////////////////////////////////////////////// 87 inline unsigned __int64 CConnectionRepository::get_msg_channel(int offset = (0)) const; 85 21 get_msg_channel_count 0 4 122 44 CConnectionRepository::get_msg_channel_count 0 1 26 0 68 inline int CConnectionRepository::get_msg_channel_count(void) const; 86 14 get_msg_sender 0 4 122 37 CConnectionRepository::get_msg_sender 0 1 27 401 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_sender // Access: Published // Description: Returns the sender ID of the current message, // according to the datagram headers. This information // is not available to the client. //////////////////////////////////////////////////////////////////// 74 inline unsigned __int64 CConnectionRepository::get_msg_sender(void) const; 87 12 get_msg_type 0 4 122 35 CConnectionRepository::get_msg_type 0 1 28 893 // INLINE unsigned char get_sec_code() const; //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_sec_code // Access: Published // Description: Returns the security code associated with the current // message, according to the datagram headers. This // information is not available to the client. //////////////////////////////////////////////////////////////////// //INLINE unsigned char CConnectionRepository:: //get_sec_code() const { // return _sec_code; //} //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_type // Access: Published // Description: Returns the type ID of the current message, // according to the datagram headers. //////////////////////////////////////////////////////////////////// 68 inline unsigned int CConnectionRepository::get_msg_type(void) const; 88 23 get_overflow_event_name 0 4 122 46 CConnectionRepository::get_overflow_event_name 0 1 29 343 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_overflow_event_name // Access: Published // Description: Returns event string that will be thrown if the // datagram reader queue overflows. //////////////////////////////////////////////////////////////////// 95 static inline basic_string< char > const &CConnectionRepository::get_overflow_event_name(void); 89 12 is_connected 0 4 122 35 CConnectionRepository::is_connected 0 1 30 603 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::is_connected // Access: Published // Description: Returns true if the connection to the gameserver is // established and still good, false if we are not // connected. A false value means either (a) we never // successfully connected, (b) we explicitly called // disconnect(), or (c) we were connected, but the // connection was spontaneously lost. //////////////////////////////////////////////////////////////////// 47 bool CConnectionRepository::is_connected(void); 90 13 send_datagram 0 4 122 36 CConnectionRepository::send_datagram 0 1 31 447 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::send_datagram // Access: Published // Description: Queues the indicated datagram for sending to the // server. It may not get sent immediately if // collect_tcp is in effect; call flush() to guarantee // it is sent now. //////////////////////////////////////////////////////////////////// 62 bool CConnectionRepository::send_datagram(Datagram const &dg); 91 25 set_want_message_bundling 0 4 122 48 CConnectionRepository::set_want_message_bundling 0 1 32 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_want_message_bundling // Access: Published // Description: Enable/disable outbound message bundling //////////////////////////////////////////////////////////////////// 72 inline void CConnectionRepository::set_want_message_bundling(bool flag); 92 25 get_want_message_bundling 0 4 122 48 CConnectionRepository::get_want_message_bundling 0 1 33 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_want_message_bundling // Access: Published // Description: Returns true if message bundling enabled //////////////////////////////////////////////////////////////////// 73 inline bool CConnectionRepository::get_want_message_bundling(void) const; 93 17 set_in_quiet_zone 0 4 122 40 CConnectionRepository::set_in_quiet_zone 0 1 34 272 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_in_quiet_zone // Access: Published // Description: Enables/disables quiet zone mode //////////////////////////////////////////////////////////////////// 64 inline void CConnectionRepository::set_in_quiet_zone(bool flag); 94 17 get_in_quiet_zone 0 4 122 40 CConnectionRepository::get_in_quiet_zone 0 1 35 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_in_quiet_zone // Access: Published // Description: Returns true if repository is in quiet zone mode //////////////////////////////////////////////////////////////////// 65 inline bool CConnectionRepository::get_in_quiet_zone(void) const; 95 20 start_message_bundle 0 4 122 43 CConnectionRepository::start_message_bundle 0 1 36 608 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::start_message_bundle // Access: Published // Description: Send a set of messages to the state server that will // be processed atomically. For instance, you can do a // combined setLocation/setPos and prevent race // conditions where clients briefly get the setLocation // but not the setPos, because the state server hasn't // processed the setPos yet //////////////////////////////////////////////////////////////////// 55 void CConnectionRepository::start_message_bundle(void); 96 20 is_bundling_messages 0 4 122 43 CConnectionRepository::is_bundling_messages 0 1 37 338 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::is_bundling_messages // Access: Published // Description: Returns true if repository is queueing outgoing messages // into a message bundle //////////////////////////////////////////////////////////////////// 68 inline bool CConnectionRepository::is_bundling_messages(void) const; 97 19 send_message_bundle 0 4 122 42 CConnectionRepository::send_message_bundle 0 1 38 327 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::send_message_bundle // Access: Published // Description: Send network messages queued up since // startMessageBundle was called. //////////////////////////////////////////////////////////////////// 99 void CConnectionRepository::send_message_bundle(unsigned int channel, unsigned int sender_channel); 98 23 abandon_message_bundles 0 4 122 46 CConnectionRepository::abandon_message_bundles 0 1 39 326 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::abandon_message_bundles // Access: Published // Description: throw out any msgs that have been queued up for // message bundles //////////////////////////////////////////////////////////////////// 58 void CConnectionRepository::abandon_message_bundles(void); 99 10 bundle_msg 0 4 122 33 CConnectionRepository::bundle_msg 0 1 40 232 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::bundle_msg // Access: Published // Description: //////////////////////////////////////////////////////////////////// 59 void CConnectionRepository::bundle_msg(Datagram const &dg); 100 14 consider_flush 0 4 122 37 CConnectionRepository::consider_flush 0 1 41 400 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::consider_flush // Access: Published // Description: Sends the most recently queued data if enough time // has elapsed. This only has meaning if // set_collect_tcp() has been set to true. //////////////////////////////////////////////////////////////////// 49 bool CConnectionRepository::consider_flush(void); 101 5 flush 0 4 122 28 CConnectionRepository::flush 0 1 42 368 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 40 bool CConnectionRepository::flush(void); 102 10 disconnect 0 4 122 33 CConnectionRepository::disconnect 0 1 43 269 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::disconnect // Access: Published // Description: Closes the connection to the server. //////////////////////////////////////////////////////////////////// 45 void CConnectionRepository::disconnect(void); 103 8 shutdown 0 4 122 31 CConnectionRepository::shutdown 0 1 44 323 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::shutdown // Access: Published // Description: May be called at application shutdown to ensure all // threads are cleaned up. //////////////////////////////////////////////////////////////////// 43 void CConnectionRepository::shutdown(void); 104 24 set_simulated_disconnect 0 4 122 47 CConnectionRepository::set_simulated_disconnect 0 1 45 466 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_simulated_disconnect // Access: Published // Description: Sets the simulated disconnect flag. While this is // true, no datagrams will be retrieved from or sent to // the server. The idea is to simulate a temporary // network outage. //////////////////////////////////////////////////////////////////// 87 inline void CConnectionRepository::set_simulated_disconnect(bool simulated_disconnect); 105 24 get_simulated_disconnect 0 4 122 47 CConnectionRepository::get_simulated_disconnect 0 1 46 469 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_simulated_disconnect // Access: Published // Description: Returns the simulated disconnect flag. While this is // true, no datagrams will be retrieved from or sent to // the server. The idea is to simulate a temporary // network outage. //////////////////////////////////////////////////////////////////// 72 inline bool CConnectionRepository::get_simulated_disconnect(void) const; 106 14 toggle_verbose 0 4 122 37 CConnectionRepository::toggle_verbose 0 1 47 393 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::toggle_verbose // Access: Published // Description: Toggles the current setting of the verbose flag. // When true, this describes every message going back // and forth on the wire. //////////////////////////////////////////////////////////////////// 56 inline void CConnectionRepository::toggle_verbose(void); 107 11 set_verbose 0 4 122 34 CConnectionRepository::set_verbose 0 1 48 374 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_verbose // Access: Published // Description: Directly sets the verbose flag. When true, this // describes every message going back and forth on the // wire. //////////////////////////////////////////////////////////////////// 61 inline void CConnectionRepository::set_verbose(bool verbose); 108 11 get_verbose 0 4 122 34 CConnectionRepository::get_verbose 0 1 49 390 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_verbose // Access: Published // Description: Returns the current setting of the verbose flag. // When true, this describes every message going back // and forth on the wire. //////////////////////////////////////////////////////////////////// 59 inline bool CConnectionRepository::get_verbose(void) const; 109 16 set_time_warning 0 4 122 39 CConnectionRepository::set_time_warning 0 1 50 426 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_time_warning // Access: Published // Description: Directly sets the time_warning field. When non zero, this // describes every message going back and forth on the // wire when the msg handling time is over it //////////////////////////////////////////////////////////////////// 72 inline void CConnectionRepository::set_time_warning(float time_warning); 110 16 get_time_warning 0 4 122 39 CConnectionRepository::get_time_warning 0 1 51 293 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_time_warning // Access: Published // Description: Returns the current setting of the time_warning field. //////////////////////////////////////////////////////////////////// 65 inline float CConnectionRepository::get_time_warning(void) const; 111 26 CDistributedSmoothNodeBase 0 4 123 54 CDistributedSmoothNodeBase::CDistributedSmoothNodeBase 0 1 52 264 // Matches ClockDelta.py //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 61 CDistributedSmoothNodeBase::CDistributedSmoothNodeBase(void); 112 27 ~CDistributedSmoothNodeBase 0 4 123 55 CDistributedSmoothNodeBase::~CDistributedSmoothNodeBase 0 0 238 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 CDistributedSmoothNodeBase::~CDistributedSmoothNodeBase(void); 113 14 set_repository 0 4 123 42 CDistributedSmoothNodeBase::set_repository 0 1 53 865 // Filename: cDistributedSmoothNodeBase.I // Created by: drose (03Sep04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_repository // Access: Published, Static // Description: Tells the C++ instance definition about the AI or Client // repository, used for sending datagrams. //////////////////////////////////////////////////////////////////// 126 inline void CDistributedSmoothNodeBase::set_repository(CConnectionRepository *repository, bool is_ai, unsigned __int64 ai_id); 114 15 set_clock_delta 0 4 123 43 CDistributedSmoothNodeBase::set_clock_delta 0 1 54 337 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_clock_delta // Access: Published, Static // Description: Tells the C++ instance definition about the global // ClockDelta object. //////////////////////////////////////////////////////////////////// 79 inline void CDistributedSmoothNodeBase::set_clock_delta(PyObject *clock_delta); 115 10 initialize 0 4 123 38 CDistributedSmoothNodeBase::initialize 0 1 55 533 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::initialize // Access: Published // Description: Initializes the internal structures from some // constructs that are normally stored only in Python. // Also reads the current node's pos & hpr values in // preparation for transmitting them via one of the // broadcast_pos_hpr_*() methods. //////////////////////////////////////////////////////////////////// 112 void CDistributedSmoothNodeBase::initialize(NodePath const &node_path, DCClass *dclass, unsigned __int64 do_id); 116 15 send_everything 0 4 123 43 CDistributedSmoothNodeBase::send_everything 0 1 56 295 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::send_everything // Access: Published // Description: Broadcasts the current pos/hpr in its complete form. //////////////////////////////////////////////////////////////////// 55 void CDistributedSmoothNodeBase::send_everything(void); 117 22 broadcast_pos_hpr_full 0 4 123 50 CDistributedSmoothNodeBase::broadcast_pos_hpr_full 0 1 57 413 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_full // Access: Published // Description: Examines the complete pos/hpr information to see // which of the six elements have changed, and // broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 62 void CDistributedSmoothNodeBase::broadcast_pos_hpr_full(void); 118 21 broadcast_pos_hpr_xyh 0 4 123 49 CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh 0 1 58 360 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh // Access: Published // Description: Examines only X, Y, and H of the pos/hpr information, // and broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 61 void CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh(void); 119 20 broadcast_pos_hpr_xy 0 4 123 48 CDistributedSmoothNodeBase::broadcast_pos_hpr_xy 0 1 59 355 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_xy // Access: Published // Description: Examines only X and Y of the pos/hpr information, // and broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 60 void CDistributedSmoothNodeBase::broadcast_pos_hpr_xy(void); 120 10 set_curr_l 0 4 123 38 CDistributedSmoothNodeBase::set_curr_l 0 1 60 466 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_curr_l // published function to set current location for // this object, this location is then sent out along // with the next position broadcast // Access: Private // Description: Appends the timestamp and sends the update. //////////////////////////////////////////////////////////////////// 64 void CDistributedSmoothNodeBase::set_curr_l(unsigned __int64 l); 121 12 print_curr_l 0 4 123 40 CDistributedSmoothNodeBase::print_curr_l 0 1 61 0 52 void CDistributedSmoothNodeBase::print_curr_l(void); 61 1 14 Dtool_nqI80z1p 0 7 2 125 63 14 Dtool_nqI80z1p 234 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 14 has_owner_view 1 124 12 threaded_net 1 124 2 14 Dtool_nqI851_T 0 7 2 125 63 14 Dtool_nqI851_T 234 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 14 has_owner_view 1 124 3 14 Dtool_nqI8JJvB 0 7 2 125 63 14 Dtool_nqI8JJvB 234 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 4 14 Dtool_nqI8WMFU 0 6 4 126 0 14 Dtool_nqI8WMFU 806 // Filename: cConnectionRepository.I // Created by: drose (17May04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_dc_file // Access: Published // Description: Returns the DCFile object associated with this // repository. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 5 14 Dtool_nqI8qawY 0 6 5 124 0 14 Dtool_nqI8qawY 332 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::has_owner_view // Access: Published // Description: Returns true if this repository can have 'owner' // views of distributed objects. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 6 14 Dtool_nqI88J2J 0 4 6 130 0 14 Dtool_nqI88J2J 416 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_handle_c_updates // Access: Published // Description: Set true to specify this repository should process // distributed updates internally in C++ code, or false // if it should return them to Python. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 16 handle_c_updates 1 124 7 14 Dtool_nqI8B_jy 0 6 7 124 0 14 Dtool_nqI8B_jy 408 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_handle_c_updates // Access: Published // Description: Returns true if this repository will process // distributed updates internally in C++ code, or false // if it will return them to Python. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 8 14 Dtool_nqI8glKQ 0 4 8 130 0 14 Dtool_nqI8glKQ 588 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_client_datagram // Access: Published // Description: Sets the client_datagram flag. If this is true, // incoming datagrams are not expected to be prefixed // with the server routing information like message // sender, channel number, etc.; otherwise, these server // fields are parsed and removed from each incoming // datagram. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 15 client_datagram 1 124 9 14 Dtool_nqI89Vry 0 6 9 124 0 14 Dtool_nqI89Vry 275 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_client_datagram // Access: Published // Description: Returns the client_datagram flag. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 10 14 Dtool_nqI8LowN 0 4 10 130 0 14 Dtool_nqI8LowN 654 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_handle_datagrams_internally // Access: Published // Description: Sets the handle_datagrams_internally flag. When // true, certain message types can be handled by the C++ // code in in this module. When false, all datagrams, // regardless of message type, are passed up to Python // for processing. // // The CMU distributed-object implementation requires // this to be set false. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 27 handle_datagrams_internally 1 124 11 14 Dtool_nqI85Cm_ 0 6 11 124 0 14 Dtool_nqI85Cm_ 299 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_handle_datagrams_internally // Access: Published // Description: Returns the handle_datagrams_internally flag. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 12 14 Dtool_nqI88QMi 0 4 12 130 0 14 Dtool_nqI88QMi 557 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_tcp_header_size // Access: Public // Description: Sets the header size of TCP packets. At the present, // legal values for this are 0, 2, or 4; this specifies // the number of bytes to use encode the datagram length // at the start of each TCP datagram. Sender and // receiver must independently agree on this. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 15 tcp_header_size 1 131 13 14 Dtool_nqI8ypd3 0 6 13 131 0 14 Dtool_nqI8ypd3 330 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_tcp_header_size // Access: Public // Description: Returns the current setting of TCP header size. // See set_tcp_header_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 128 14 14 Dtool_nqI8fmXG 0 4 14 130 0 14 Dtool_nqI8fmXG 478 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_python_repository // Access: Published // Description: Records the pointer to the Python class that derives // from CConnectionRepository. This allows the C++ // implementation to directly manipulation some python // structures on the repository. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 17 python_repository 1 132 15 14 Dtool_nqI8qdPr 0 4 15 130 0 14 Dtool_nqI8qdPr 476 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_connection_http // Access: Published // Description: Once a connection has been established via the HTTP // interface, gets the connection and uses it. The // supplied HTTPChannel object must have a connection // available via get_connection(). //////////////////////////////////////////////////////////////////// 2 4 this 3 125 7 channel 1 134 16 14 Dtool_nqI8nV65 0 6 16 136 0 14 Dtool_nqI8nV65 413 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_stream // Access: Published // Description: Returns the SocketStream that internally represents // the already-established HTTP connection. Returns // NULL if there is no current HTTP connection. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 17 14 Dtool_nqI8tkG6 0 6 17 124 0 14 Dtool_nqI8tkG6 413 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::try_connect_net // Access: Published // Description: Uses Panda's "net" library to try to connect to the // server and port named in the indicated URL. Returns // true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 3 url 1 138 18 14 Dtool_nqI8TpeE 0 6 18 141 0 14 Dtool_nqI8TpeE 321 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_qcm // Access: Published // Description: Returns the QueuedConnectionManager object associated // with the repository. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 19 14 Dtool_nqI8UglF 0 6 19 143 0 14 Dtool_nqI8UglF 313 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_cw // Access: Published // Description: Returns the ConnectionWriter object associated // with the repository. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 20 14 Dtool_nqI8JkqE 0 6 20 145 0 14 Dtool_nqI8JkqE 320 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_qcr // Access: Published // Description: Returns the QueuedConnectionReader object associated // with the repository. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 21 14 Dtool_nqI8g_F4 0 6 21 124 0 14 Dtool_nqI8g_F4 514 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::check_datagram // Access: Published // Description: Returns true if a new datagram is available, false // otherwise. If the return value is true, the new // datagram may be retrieved via get_datagram(), or // preferably, with get_datagram_iterator() and // get_msg_type(). //////////////////////////////////////////////////////////////////// 1 4 this 3 125 22 14 Dtool_nqI83q1u 0 4 22 130 0 14 Dtool_nqI83q1u 340 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_datagram // Access: Published // Description: Fills the datagram object with the datagram most // recently retrieved by check_datagram(). //////////////////////////////////////////////////////////////////// 2 4 this 3 125 2 dg 1 147 23 14 Dtool_nqI8foW8 0 4 23 130 0 14 Dtool_nqI8foW8 548 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_datagram_iterator // Access: Published // Description: Fills the DatagramIterator object with the iterator // for the datagram most recently retrieved by // check_datagram(). This iterator has already read // past the datagram header and the message type, and is // positioned at the beginning of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 2 di 1 149 24 14 Dtool_nqI8bgej 0 6 24 151 0 14 Dtool_nqI8bgej 418 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_channel // Access: Published // Description: Returns the channel(s) to which the current message // was sent, according to the datagram headers. This // information is not available to the client. //////////////////////////////////////////////////////////////////// 2 4 this 3 128 6 offset 1 131 25 14 Dtool_nqI8OsSR 0 6 24 151 0 14 Dtool_nqI8OsSR 418 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_channel // Access: Published // Description: Returns the channel(s) to which the current message // was sent, according to the datagram headers. This // information is not available to the client. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 26 14 Dtool_nqI8o6VW 0 6 25 131 0 14 Dtool_nqI8o6VW 0 1 4 this 3 128 27 14 Dtool_nqI83Atc 0 6 26 151 0 14 Dtool_nqI83Atc 401 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_sender // Access: Published // Description: Returns the sender ID of the current message, // according to the datagram headers. This information // is not available to the client. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 28 14 Dtool_nqI8lfYY 0 6 27 152 0 14 Dtool_nqI8lfYY 845 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_sec_code // Access: Published // Description: Returns the security code associated with the current // message, according to the datagram headers. This // information is not available to the client. //////////////////////////////////////////////////////////////////// //INLINE unsigned char CConnectionRepository:: //get_sec_code() const { // return _sec_code; //} //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_msg_type // Access: Published // Description: Returns the type ID of the current message, // according to the datagram headers. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 29 14 Dtool_nqI81_hh 0 6 28 153 0 14 Dtool_nqI81_hh 343 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_overflow_event_name // Access: Published // Description: Returns event string that will be thrown if the // datagram reader queue overflows. //////////////////////////////////////////////////////////////////// 0 30 14 Dtool_nqI8d16m 0 6 29 124 0 14 Dtool_nqI8d16m 603 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::is_connected // Access: Published // Description: Returns true if the connection to the gameserver is // established and still good, false if we are not // connected. A false value means either (a) we never // successfully connected, (b) we explicitly called // disconnect(), or (c) we were connected, but the // connection was spontaneously lost. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 31 14 Dtool_nqI81hI9 0 6 30 124 0 14 Dtool_nqI81hI9 447 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::send_datagram // Access: Published // Description: Queues the indicated datagram for sending to the // server. It may not get sent immediately if // collect_tcp is in effect; call flush() to guarantee // it is sent now. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 2 dg 1 154 32 14 Dtool_nqI8ffNO 0 4 31 130 0 14 Dtool_nqI8ffNO 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_want_message_bundling // Access: Published // Description: Enable/disable outbound message bundling //////////////////////////////////////////////////////////////////// 2 4 this 3 125 4 flag 1 124 33 14 Dtool_nqI8e5mH 0 6 32 124 0 14 Dtool_nqI8e5mH 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_want_message_bundling // Access: Published // Description: Returns true if message bundling enabled //////////////////////////////////////////////////////////////////// 1 4 this 3 128 34 14 Dtool_nqI8ELtE 0 4 33 130 0 14 Dtool_nqI8ELtE 272 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_in_quiet_zone // Access: Published // Description: Enables/disables quiet zone mode //////////////////////////////////////////////////////////////////// 2 4 this 3 125 4 flag 1 124 35 14 Dtool_nqI833FA 0 6 34 124 0 14 Dtool_nqI833FA 288 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_in_quiet_zone // Access: Published // Description: Returns true if repository is in quiet zone mode //////////////////////////////////////////////////////////////////// 1 4 this 3 128 36 14 Dtool_nqI8q0kf 0 4 35 130 0 14 Dtool_nqI8q0kf 608 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::start_message_bundle // Access: Published // Description: Send a set of messages to the state server that will // be processed atomically. For instance, you can do a // combined setLocation/setPos and prevent race // conditions where clients briefly get the setLocation // but not the setPos, because the state server hasn't // processed the setPos yet //////////////////////////////////////////////////////////////////// 1 4 this 3 125 37 14 Dtool_nqI8qaJD 0 6 36 124 0 14 Dtool_nqI8qaJD 338 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::is_bundling_messages // Access: Published // Description: Returns true if repository is queueing outgoing messages // into a message bundle //////////////////////////////////////////////////////////////////// 1 4 this 3 128 38 14 Dtool_nqI8CGVX 0 4 37 130 0 14 Dtool_nqI8CGVX 327 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::send_message_bundle // Access: Published // Description: Send network messages queued up since // startMessageBundle was called. //////////////////////////////////////////////////////////////////// 3 4 this 3 125 7 channel 1 152 14 sender_channel 1 152 39 14 Dtool_nqI8AYZH 0 4 38 130 0 14 Dtool_nqI8AYZH 326 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::abandon_message_bundles // Access: Published // Description: throw out any msgs that have been queued up for // message bundles //////////////////////////////////////////////////////////////////// 1 4 this 3 125 40 14 Dtool_nqI8xi1a 0 4 39 130 0 14 Dtool_nqI8xi1a 232 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::bundle_msg // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 125 2 dg 1 154 41 14 Dtool_nqI8z8dn 0 6 40 124 0 14 Dtool_nqI8z8dn 400 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::consider_flush // Access: Published // Description: Sends the most recently queued data if enough time // has elapsed. This only has meaning if // set_collect_tcp() has been set to true. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 42 14 Dtool_nqI8iJJd 0 6 41 124 0 14 Dtool_nqI8iJJd 368 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::flush // Access: Published // Description: Sends the most recently queued data now. This only // has meaning if set_collect_tcp() has been set to // true. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 43 14 Dtool_nqI8ggLs 0 4 42 130 0 14 Dtool_nqI8ggLs 269 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::disconnect // Access: Published // Description: Closes the connection to the server. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 44 14 Dtool_nqI898Wy 0 4 43 130 0 14 Dtool_nqI898Wy 323 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::shutdown // Access: Published // Description: May be called at application shutdown to ensure all // threads are cleaned up. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 45 14 Dtool_nqI8Tlnx 0 4 44 130 0 14 Dtool_nqI8Tlnx 466 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_simulated_disconnect // Access: Published // Description: Sets the simulated disconnect flag. While this is // true, no datagrams will be retrieved from or sent to // the server. The idea is to simulate a temporary // network outage. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 20 simulated_disconnect 1 124 46 14 Dtool_nqI8tFqe 0 6 45 124 0 14 Dtool_nqI8tFqe 469 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_simulated_disconnect // Access: Published // Description: Returns the simulated disconnect flag. While this is // true, no datagrams will be retrieved from or sent to // the server. The idea is to simulate a temporary // network outage. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 47 14 Dtool_nqI8brp_ 0 4 46 130 0 14 Dtool_nqI8brp_ 393 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::toggle_verbose // Access: Published // Description: Toggles the current setting of the verbose flag. // When true, this describes every message going back // and forth on the wire. //////////////////////////////////////////////////////////////////// 1 4 this 3 125 48 14 Dtool_nqI8tKzq 0 4 47 130 0 14 Dtool_nqI8tKzq 374 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_verbose // Access: Published // Description: Directly sets the verbose flag. When true, this // describes every message going back and forth on the // wire. //////////////////////////////////////////////////////////////////// 2 4 this 3 125 7 verbose 1 124 49 14 Dtool_nqI8F3VI 0 6 48 124 0 14 Dtool_nqI8F3VI 390 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_verbose // Access: Published // Description: Returns the current setting of the verbose flag. // When true, this describes every message going back // and forth on the wire. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 50 14 Dtool_nqI8VjcE 0 4 49 130 0 14 Dtool_nqI8VjcE 426 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::set_time_warning // Access: Published // Description: Directly sets the time_warning field. When non zero, this // describes every message going back and forth on the // wire when the msg handling time is over it //////////////////////////////////////////////////////////////////// 2 4 this 3 125 12 time_warning 1 156 51 14 Dtool_nqI8hglh 0 6 50 156 0 14 Dtool_nqI8hglh 293 //////////////////////////////////////////////////////////////////// // Function: CConnectionRepository::get_time_warning // Access: Published // Description: Returns the current setting of the time_warning field. //////////////////////////////////////////////////////////////////// 1 4 this 3 128 52 14 Dtool_nqI8Yl7d 0 7 52 157 112 14 Dtool_nqI8Yl7d 264 // Matches ClockDelta.py //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 53 14 Dtool_nqI89rX6 0 4 54 130 0 14 Dtool_nqI89rX6 865 // Filename: cDistributedSmoothNodeBase.I // Created by: drose (03Sep04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_repository // Access: Published, Static // Description: Tells the C++ instance definition about the AI or Client // repository, used for sending datagrams. //////////////////////////////////////////////////////////////////// 4 4 this 3 157 10 repository 1 125 5 is_ai 1 124 5 ai_id 1 151 54 14 Dtool_nqI81CY3 0 4 55 130 0 14 Dtool_nqI81CY3 337 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_clock_delta // Access: Published, Static // Description: Tells the C++ instance definition about the global // ClockDelta object. //////////////////////////////////////////////////////////////////// 2 4 this 3 157 11 clock_delta 1 132 55 14 Dtool_nqI8lODQ 0 4 56 130 0 14 Dtool_nqI8lODQ 533 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::initialize // Access: Published // Description: Initializes the internal structures from some // constructs that are normally stored only in Python. // Also reads the current node's pos & hpr values in // preparation for transmitting them via one of the // broadcast_pos_hpr_*() methods. //////////////////////////////////////////////////////////////////// 4 4 this 3 157 9 node_path 1 158 6 dclass 1 161 5 do_id 1 151 56 14 Dtool_nqI8keGE 0 4 57 130 0 14 Dtool_nqI8keGE 295 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::send_everything // Access: Published // Description: Broadcasts the current pos/hpr in its complete form. //////////////////////////////////////////////////////////////////// 1 4 this 3 157 57 14 Dtool_nqI8uy5e 0 4 58 130 0 14 Dtool_nqI8uy5e 413 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_full // Access: Published // Description: Examines the complete pos/hpr information to see // which of the six elements have changed, and // broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 1 4 this 3 157 58 14 Dtool_nqI8Cz2k 0 4 59 130 0 14 Dtool_nqI8Cz2k 360 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh // Access: Published // Description: Examines only X, Y, and H of the pos/hpr information, // and broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 1 4 this 3 157 59 14 Dtool_nqI8_vnD 0 4 60 130 0 14 Dtool_nqI8_vnD 355 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::broadcast_pos_hpr_xy // Access: Published // Description: Examines only X and Y of the pos/hpr information, // and broadcasts the appropriate messages. //////////////////////////////////////////////////////////////////// 1 4 this 3 157 60 14 Dtool_nqI8XnA3 0 4 61 130 0 14 Dtool_nqI8XnA3 466 //////////////////////////////////////////////////////////////////// // Function: CDistributedSmoothNodeBase::set_curr_l // published function to set current location for // this object, this location is then sent out along // with the next position broadcast // Access: Private // Description: Appends the timestamp and sends the update. //////////////////////////////////////////////////////////////////// 2 4 this 3 157 1 l 1 151 61 14 Dtool_nqI8oMEN 0 4 62 130 0 14 Dtool_nqI8oMEN 0 1 4 this 3 157 41 122 21 CConnectionRepository 0 26625 21 CConnectionRepository 21 CConnectionRepository 0 0 0 1 62 63 0 47 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 0 0 0 0 0 900 //////////////////////////////////////////////////////////////////// // Class : CConnectionRepository // Description : This class implements the C++ side of the // ConnectionRepository object. In particular, it // manages the connection to the server once it has been // opened (but does not open it directly). It manages // reading and writing datagrams on the connection and // monitoring for unexpected disconnects as well as // handling intentional disconnects. // // Certain server messages, like field updates, are // handled entirely within the C++ layer, while server // messages that are not understood by the C++ layer are // returned up to the Python layer for processing. //////////////////////////////////////////////////////////////////// 123 26 CDistributedSmoothNodeBase 0 26625 26 CDistributedSmoothNodeBase 26 CDistributedSmoothNodeBase 0 0 0 1 111 112 0 9 113 114 115 116 117 118 119 120 121 0 0 0 0 0 361 //////////////////////////////////////////////////////////////////// // Class : CDistributedSmoothNodeBase // Description : This class defines some basic methods of // DistributedSmoothNodeBase which have been moved into // C++ as a performance optimization. //////////////////////////////////////////////////////////////////// 124 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 125 23 CConnectionRepository * 0 8576 23 CConnectionRepository * 23 CConnectionRepository * 0 0 122 0 0 0 0 0 0 0 0 0 0 126 8 DCFile * 0 8576 8 DCFile * 8 DCFile * 0 0 127 0 0 0 0 0 0 0 0 0 0 127 6 DCFile 0 2048 6 DCFile 6 DCFile 0 0 0 0 0 0 0 0 0 0 0 0 283 //////////////////////////////////////////////////////////////////// // Class : DCFile // Description : Represents the complete list of Distributed Class // descriptions as read from a .dc file. //////////////////////////////////////////////////////////////////// 128 29 CConnectionRepository const * 0 8576 29 CConnectionRepository const * 29 CConnectionRepository const * 0 0 129 0 0 0 0 0 0 0 0 0 0 129 27 CConnectionRepository const 0 8832 27 CConnectionRepository const 27 CConnectionRepository const 0 0 122 0 0 0 0 0 0 0 0 0 0 130 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 131 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 132 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 133 0 0 0 0 0 0 0 0 0 0 133 8 PyObject 0 2048 8 PyObject 8 PyObject 0 0 0 0 0 0 0 0 0 0 0 0 0 134 13 HTTPChannel * 0 8576 13 HTTPChannel * 13 HTTPChannel * 0 0 135 0 0 0 0 0 0 0 0 0 0 135 11 HTTPChannel 0 2048 11 HTTPChannel 11 HTTPChannel 0 0 0 0 0 0 0 0 0 0 0 0 875 //////////////////////////////////////////////////////////////////// // Class : HTTPChannel // Description : A single channel of communication from an HTTPClient. // This is similar to the concept of a 'connection', // except that HTTP is technically connectionless; in // fact, a channel may represent one unbroken connection // or it may transparently close and reopen a new // connection with each request. // // A channel is conceptually a single thread of I/O. // One document at a time may be requested using a // channel; a new document may (in general) not be // requested from the same HTTPChannel until the first // document has been fully retrieved. //////////////////////////////////////////////////////////////////// 136 14 SocketStream * 0 8576 14 SocketStream * 14 SocketStream * 0 0 137 0 0 0 0 0 0 0 0 0 0 137 12 SocketStream 0 2048 12 SocketStream 12 SocketStream 0 0 0 0 0 0 0 0 0 0 0 0 285 //////////////////////////////////////////////////////////////////// // Class : SocketStream // Description : A base class for iostreams that read and write to a // (possibly non-blocking) socket. //////////////////////////////////////////////////////////////////// 138 15 URLSpec const * 0 8576 15 URLSpec const * 15 URLSpec const * 0 0 139 0 0 0 0 0 0 0 0 0 0 139 13 URLSpec const 0 8832 13 URLSpec const 13 URLSpec const 0 0 140 0 0 0 0 0 0 0 0 0 0 140 7 URLSpec 0 2048 7 URLSpec 7 URLSpec 0 0 0 0 0 0 0 0 0 0 0 0 437 //////////////////////////////////////////////////////////////////// // Class : URLSpec // Description : A container for a URL, e.g. "http://server:port/path". // // The URLSpec object is similar to a Filename in that // it contains logic to identify the various parts of a // URL and return (or modify) them separately. //////////////////////////////////////////////////////////////////// 141 25 QueuedConnectionManager * 0 8576 25 QueuedConnectionManager * 25 QueuedConnectionManager * 0 0 142 0 0 0 0 0 0 0 0 0 0 142 23 QueuedConnectionManager 0 2048 23 QueuedConnectionManager 23 QueuedConnectionManager 0 0 0 0 0 0 0 0 0 0 0 0 726 //////////////////////////////////////////////////////////////////// // Class : QueuedConnectionManager // Description : This flavor of ConnectionManager will queue up all of // the reset-connection messages from the // ConnectionReaders and ConnectionWriters and report // them to the client on demand. // // When a reset connection has been discovered via // reset_connection_available()/get_reset_connection(), // it is still the responsibility of the client to call // close_connection() on that connection to free up its // resources. //////////////////////////////////////////////////////////////////// 143 18 ConnectionWriter * 0 8576 18 ConnectionWriter * 18 ConnectionWriter * 0 0 144 0 0 0 0 0 0 0 0 0 0 144 16 ConnectionWriter 0 2048 16 ConnectionWriter 16 ConnectionWriter 0 0 0 0 0 0 0 0 0 0 0 0 545 //////////////////////////////////////////////////////////////////// // Class : ConnectionWriter // Description : This class handles threaded delivery of datagrams to // various TCP or UDP sockets. // // A ConnectionWriter may define an arbitrary number of // threads (0 or more) to write its datagrams to // sockets. The number of threads is specified at // construction time and cannot be changed. //////////////////////////////////////////////////////////////////// 145 24 QueuedConnectionReader * 0 8576 24 QueuedConnectionReader * 24 QueuedConnectionReader * 0 0 146 0 0 0 0 0 0 0 0 0 0 146 22 QueuedConnectionReader 0 2048 22 QueuedConnectionReader 22 QueuedConnectionReader 0 0 0 0 0 0 0 0 0 0 0 0 551 //////////////////////////////////////////////////////////////////// // Class : QueuedConnectionReader // Description : This flavor of ConnectionReader will read from its // sockets and queue up all of the datagrams read for // later receipt by the client code. This class is // useful for client code that doesn't want to deal with // threading and is willing to poll for datagrams at its // convenience. //////////////////////////////////////////////////////////////////// 147 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 148 0 0 0 0 0 0 0 0 0 0 148 8 Datagram 0 2048 8 Datagram 8 Datagram 0 0 0 0 0 0 0 0 0 0 0 0 900 //////////////////////////////////////////////////////////////////// // Class : Datagram // Description : An ordered list of data elements, formatted in memory // for transmission over a socket or writing to a data // file. // // Data elements should be added one at a time, in // order, to the Datagram. The nature and contents of // the data elements are totally up to the user. When a // Datagram has been transmitted and received, its data // elements may be extracted using a DatagramIterator; // it is up to the caller to know the correct type of // each data element in order. // // A Datagram is itself headerless; it is simply a // collection of data elements. //////////////////////////////////////////////////////////////////// 149 18 DatagramIterator * 0 8576 18 DatagramIterator * 18 DatagramIterator * 0 0 150 0 0 0 0 0 0 0 0 0 0 150 16 DatagramIterator 0 2048 16 DatagramIterator 16 DatagramIterator 0 0 0 0 0 0 0 0 0 0 0 0 438 //////////////////////////////////////////////////////////////////// // Class : DatagramIterator // Description : A class to retrieve the individual data elements // previously stored in a Datagram. Elements may be // retrieved one at a time; it is up to the caller to // know the correct type and order of each element. //////////////////////////////////////////////////////////////////// 151 16 unsigned __int64 0 8230 16 unsigned __int64 16 unsigned __int64 0 8 0 0 0 0 0 0 0 0 0 0 0 152 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 153 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 154 16 Datagram const * 0 8576 16 Datagram const * 16 Datagram const * 0 0 155 0 0 0 0 0 0 0 0 0 0 155 14 Datagram const 0 8832 14 Datagram const 14 Datagram const 0 0 148 0 0 0 0 0 0 0 0 0 0 156 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 157 28 CDistributedSmoothNodeBase * 0 8576 28 CDistributedSmoothNodeBase * 28 CDistributedSmoothNodeBase * 0 0 123 0 0 0 0 0 0 0 0 0 0 158 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 159 0 0 0 0 0 0 0 0 0 0 159 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 160 0 0 0 0 0 0 0 0 0 0 160 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 2 163 164 0 0 0 0 4938 // // A NodePath is the fundamental unit of high-level interaction with // the scene graph. It encapsulates the complete path down to a node // from some other node, usually the root of the scene graph. This is // used to resolve ambiguities associated with instancing. // // NodePath also contains a number of handy high-level methods for // common scene-graph manipulations, such as reparenting, and common // state changes, such as repositioning. // // There are also a number of NodePath methods for finding nodes deep // within the tree by name or by type. These take a path string, // which at its simplest consists of a series of node names separated // by slashes, like a directory pathname. // // Each component of the path string may optionally consist of one of // the following special names, instead of a node name: // // * -- matches exactly one node, with any name. // ** -- matches any sequence of zero or more nodes. // +typename -- matches any node that is or derives from the given type. // -typename -- matches any node that is the given type exactly. // =tag -- matches any node that has the indicated tag. // =tag=value -- matches any node whose tag matches the indicated value. // // Furthermore, a node name may itself contain standard filename // globbing characters, like *, ?, and [a-z], that will be accepted as // a partial match. (In fact, the '*' special name may be seen as // just a special case of this.) The globbing characters may not be // used with the typename matches or with tag matches, but they may // be used to match a tag's value in the =tag=value syntax. // // The special characters "@@", appearing at the beginning of a node // name, indicate a stashed node. Normally, stashed nodes are not // returned by a find (but see the special flags, below), but a // stashed node may be found if it is explicitly named with its // leading @@ characters. By extension, "@@*" may be used to identify // any stashed node. // // Examples: // // "room//graph" will look for a node named "graph", which is a child // of an unnamed node, which is a child of a node named "room", which // is a child of the starting path. // // "**/red*" will look for any node anywhere in the tree (below the // starting path) with a name that begins with "red". // // "**/+PartBundleNode/**/head" will look for a node named "head", // somewhere below a PartBundleNode anywhere in the tree. // // // The search is always potentially ambiguous, even if the special // wildcard operators are not used, because there may be multiple // nodes in the tree with the same name. In general, in the case of // an ambiguity, the shortest path is preferred; when a method (such // as extend_by) must choose only only one of several possible paths, // it will choose the shortest available; on the other hand, when a // method (such as find_all_matches) is to return all of the matching // paths, it will sort them so that the shortest paths appear first in // the output. // // // Special flags. The entire string may optionally be followed by the // ";" character, followed by one or more of the following special // control flags, with no intervening spaces or punctuation: // // -h Do not return hidden nodes. // +h Do return hidden nodes. // -s Do not return stashed nodes unless explicitly referenced with @@. // +s Return stashed nodes even without any explicit @@ characters. // -i Node name comparisons are not case insensitive: case must match // exactly. // +i Node name comparisons are case insensitive: case is not important. // This affects matches against the node name only; node type // and tag strings are always case sensitive. // // The default flags are +h-s-i. // //////////////////////////////////////////////////////////////////// // Class : NodePath // Description : NodePath is the fundamental system for disambiguating // instances, and also provides a higher-level interface // for manipulating the scene graph. // // A NodePath is a list of connected nodes from the root // of the graph to any sub-node. Each NodePath // therefore uniquely describes one instance of a node. // // NodePaths themselves are lightweight objects that may // easily be copied and passed by value. Their data is // stored as a series of NodePathComponents that are // stored on the nodes. Holding a NodePath will keep a // reference count to all the nodes in the path. // However, if any node in the path is removed or // reparented (perhaps through a different NodePath), // the NodePath will automatically be updated to reflect // the changes. //////////////////////////////////////////////////////////////////// 161 9 DCClass * 0 8576 9 DCClass * 9 DCClass * 0 0 162 0 0 0 0 0 0 0 0 0 0 162 7 DCClass 0 2048 7 DCClass 7 DCClass 0 0 0 0 0 0 0 0 0 0 0 0 266 //////////////////////////////////////////////////////////////////// // Class : DCClass // Description : Defines a particular DistributedClass as read from an // input .dc file. //////////////////////////////////////////////////////////////////// 0 0 2 163 0 0 154 9 get_nodes 13 get_num_nodes 8 get_node 164 0 0 154 13 get_ancestors 13 get_num_nodes 12 get_ancestor