Poodletooth-iLand/panda/pandac/input/libp3distributed.in

1423 lines
77 KiB
Text
Raw Normal View History

2015-03-03 16:10:12 -06:00
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