917 lines
36 KiB
Text
917 lines
36 KiB
Text
1565844324
|
|
3 3
|
|
16 libp3distributed 4 nqI8 14 panda3d.direct
|
|
62
|
|
62 21 CConnectionRepository 0 4 124 44 CConnectionRepository::CConnectionRepository 0 1 1 10
|
|
/**
|
|
*
|
|
*/
|
|
110
|
|
explicit CConnectionRepository::CConnectionRepository(bool has_owner_view = false, bool threaded_net = false);
|
|
|
|
63 22 ~CConnectionRepository 0 4 124 45 CConnectionRepository::~CConnectionRepository 0 0 10
|
|
/**
|
|
*
|
|
*/
|
|
52
|
|
CConnectionRepository::~CConnectionRepository(void);
|
|
|
|
64 11 get_dc_file 0 4 124 34 CConnectionRepository::get_dc_file 0 1 2 69
|
|
/**
|
|
* Returns the DCFile object associated with this repository.
|
|
*/
|
|
56
|
|
inline DCFile &CConnectionRepository::get_dc_file(void);
|
|
|
|
65 14 has_owner_view 0 4 124 37 CConnectionRepository::has_owner_view 0 1 3 92
|
|
/**
|
|
* 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 124 43 CConnectionRepository::set_handle_c_updates 0 1 4 153
|
|
/**
|
|
* 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 124 43 CConnectionRepository::get_handle_c_updates 0 1 5 145
|
|
/**
|
|
* 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 124 42 CConnectionRepository::set_client_datagram 0 1 6 281
|
|
/**
|
|
* 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 124 42 CConnectionRepository::get_client_datagram 0 1 7 44
|
|
/**
|
|
* Returns the client_datagram flag.
|
|
*/
|
|
67
|
|
inline bool CConnectionRepository::get_client_datagram(void) const;
|
|
|
|
70 31 set_handle_datagrams_internally 0 4 124 54 CConnectionRepository::set_handle_datagrams_internally 0 1 8 321
|
|
/**
|
|
* 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 124 54 CConnectionRepository::get_handle_datagrams_internally 0 1 9 56
|
|
/**
|
|
* Returns the handle_datagrams_internally flag.
|
|
*/
|
|
79
|
|
inline bool CConnectionRepository::get_handle_datagrams_internally(void) const;
|
|
|
|
72 19 set_tcp_header_size 0 4 124 42 CConnectionRepository::set_tcp_header_size 0 1 10 270
|
|
/**
|
|
* 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 124 42 CConnectionRepository::get_tcp_header_size 0 1 11 86
|
|
/**
|
|
* 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 124 44 CConnectionRepository::set_python_repository 0 1 12 200
|
|
/**
|
|
* 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 124 42 CConnectionRepository::set_connection_http 0 1 13 200
|
|
/**
|
|
* 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 124 33 CConnectionRepository::get_stream 0 1 14 160
|
|
/**
|
|
* 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 124 38 CConnectionRepository::try_connect_net 0 1 15 155
|
|
/**
|
|
* 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 124 30 CConnectionRepository::get_qcm 0 1 16 85
|
|
/**
|
|
* Returns the QueuedConnectionManager object associated with the repository.
|
|
*/
|
|
69
|
|
inline QueuedConnectionManager &CConnectionRepository::get_qcm(void);
|
|
|
|
79 6 get_cw 0 4 124 29 CConnectionRepository::get_cw 0 1 17 78
|
|
/**
|
|
* Returns the ConnectionWriter object associated with the repository.
|
|
*/
|
|
61
|
|
inline ConnectionWriter &CConnectionRepository::get_cw(void);
|
|
|
|
80 7 get_qcr 0 4 124 30 CConnectionRepository::get_qcr 0 1 18 84
|
|
/**
|
|
* Returns the QueuedConnectionReader object associated with the repository.
|
|
*/
|
|
68
|
|
inline QueuedConnectionReader &CConnectionRepository::get_qcr(void);
|
|
|
|
81 14 connect_native 0 4 124 37 CConnectionRepository::connect_native 0 1 19 91
|
|
/**
|
|
* Connects to the server using Panda's low-level and fast "native net"
|
|
* library.
|
|
*/
|
|
63
|
|
bool CConnectionRepository::connect_native(URLSpec const &url);
|
|
|
|
82 7 get_bdc 0 4 124 30 CConnectionRepository::get_bdc 0 1 20 92
|
|
/**
|
|
* Returns the Buffered_DatagramConnection object associated with the
|
|
* repository.
|
|
*/
|
|
73
|
|
inline Buffered_DatagramConnection &CConnectionRepository::get_bdc(void);
|
|
|
|
83 14 check_datagram 0 4 124 37 CConnectionRepository::check_datagram 0 1 21 226
|
|
/**
|
|
* 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);
|
|
|
|
84 12 get_datagram 0 4 124 35 CConnectionRepository::get_datagram 0 1 22 102
|
|
/**
|
|
* Fills the datagram object with the datagram most recently retrieved by
|
|
* check_datagram().
|
|
*/
|
|
62
|
|
inline void CConnectionRepository::get_datagram(Datagram &dg);
|
|
|
|
85 21 get_datagram_iterator 0 4 124 44 CConnectionRepository::get_datagram_iterator 0 1 23 256
|
|
/**
|
|
* 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);
|
|
|
|
86 15 get_msg_channel 0 4 124 38 CConnectionRepository::get_msg_channel 0 1 24 160
|
|
/**
|
|
* Returns the channel(s) to which the current message was sent, according to
|
|
* the datagram headers. This information is not available to the client.
|
|
*/
|
|
81
|
|
inline CHANNEL_TYPE CConnectionRepository::get_msg_channel(int offset = 0) const;
|
|
|
|
87 21 get_msg_channel_count 0 4 124 44 CConnectionRepository::get_msg_channel_count 0 1 25 0
|
|
68
|
|
inline int CConnectionRepository::get_msg_channel_count(void) const;
|
|
|
|
88 14 get_msg_sender 0 4 124 37 CConnectionRepository::get_msg_sender 0 1 26 144
|
|
/**
|
|
* Returns the sender ID of the current message, according to the datagram
|
|
* headers. This information is not available to the client.
|
|
*/
|
|
70
|
|
inline CHANNEL_TYPE CConnectionRepository::get_msg_sender(void) const;
|
|
|
|
89 12 get_msg_type 0 4 124 35 CConnectionRepository::get_msg_type 0 1 27 139
|
|
// INLINE unsigned char get_sec_code() const;
|
|
|
|
/**
|
|
* Returns the type ID of the current message, according to the datagram
|
|
* headers.
|
|
*/
|
|
68
|
|
inline unsigned int CConnectionRepository::get_msg_type(void) const;
|
|
|
|
90 23 get_overflow_event_name 0 4 124 46 CConnectionRepository::get_overflow_event_name 0 1 28 94
|
|
/**
|
|
* Returns event string that will be thrown if the datagram reader queue
|
|
* overflows.
|
|
*/
|
|
86
|
|
static inline std::string const &CConnectionRepository::get_overflow_event_name(void);
|
|
|
|
91 12 is_connected 0 4 124 35 CConnectionRepository::is_connected 0 1 29 303
|
|
/**
|
|
* 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);
|
|
|
|
92 13 send_datagram 0 4 124 36 CConnectionRepository::send_datagram 0 1 30 177
|
|
/**
|
|
* 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);
|
|
|
|
93 25 set_want_message_bundling 0 4 124 48 CConnectionRepository::set_want_message_bundling 0 1 31 51
|
|
/**
|
|
* Enable/disable outbound message bundling
|
|
*/
|
|
72
|
|
inline void CConnectionRepository::set_want_message_bundling(bool flag);
|
|
|
|
94 25 get_want_message_bundling 0 4 124 48 CConnectionRepository::get_want_message_bundling 0 1 32 51
|
|
/**
|
|
* Returns true if message bundling enabled
|
|
*/
|
|
73
|
|
inline bool CConnectionRepository::get_want_message_bundling(void) const;
|
|
|
|
95 17 set_in_quiet_zone 0 4 124 40 CConnectionRepository::set_in_quiet_zone 0 1 33 43
|
|
/**
|
|
* Enables/disables quiet zone mode
|
|
*/
|
|
64
|
|
inline void CConnectionRepository::set_in_quiet_zone(bool flag);
|
|
|
|
96 17 get_in_quiet_zone 0 4 124 40 CConnectionRepository::get_in_quiet_zone 0 1 34 59
|
|
/**
|
|
* Returns true if repository is in quiet zone mode
|
|
*/
|
|
65
|
|
inline bool CConnectionRepository::get_in_quiet_zone(void) const;
|
|
|
|
97 20 start_message_bundle 0 4 124 43 CConnectionRepository::start_message_bundle 0 1 35 300
|
|
/**
|
|
* 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);
|
|
|
|
98 20 is_bundling_messages 0 4 124 43 CConnectionRepository::is_bundling_messages 0 1 36 92
|
|
/**
|
|
* Returns true if repository is queueing outgoing messages into a message
|
|
* bundle
|
|
*/
|
|
68
|
|
inline bool CConnectionRepository::is_bundling_messages(void) const;
|
|
|
|
99 19 send_message_bundle 0 4 124 42 CConnectionRepository::send_message_bundle 0 1 37 79
|
|
/**
|
|
* Send network messages queued up since startMessageBundle was called.
|
|
*/
|
|
99
|
|
void CConnectionRepository::send_message_bundle(unsigned int channel, unsigned int sender_channel);
|
|
|
|
100 23 abandon_message_bundles 0 4 124 46 CConnectionRepository::abandon_message_bundles 0 1 38 74
|
|
/**
|
|
* throw out any msgs that have been queued up for message bundles
|
|
*/
|
|
58
|
|
void CConnectionRepository::abandon_message_bundles(void);
|
|
|
|
101 10 bundle_msg 0 4 124 33 CConnectionRepository::bundle_msg 0 1 39 10
|
|
/**
|
|
*
|
|
*/
|
|
59
|
|
void CConnectionRepository::bundle_msg(Datagram const &dg);
|
|
|
|
102 14 consider_flush 0 4 124 37 CConnectionRepository::consider_flush 0 1 40 143
|
|
/**
|
|
* 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);
|
|
|
|
103 5 flush 0 4 124 28 CConnectionRepository::flush 0 1 41 120
|
|
/**
|
|
* 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);
|
|
|
|
104 10 disconnect 0 4 124 33 CConnectionRepository::disconnect 0 1 42 47
|
|
/**
|
|
* Closes the connection to the server.
|
|
*/
|
|
45
|
|
void CConnectionRepository::disconnect(void);
|
|
|
|
105 8 shutdown 0 4 124 31 CConnectionRepository::shutdown 0 1 43 86
|
|
/**
|
|
* May be called at application shutdown to ensure all threads are cleaned up.
|
|
*/
|
|
43
|
|
void CConnectionRepository::shutdown(void);
|
|
|
|
106 24 set_simulated_disconnect 0 4 124 47 CConnectionRepository::set_simulated_disconnect 0 1 44 185
|
|
/**
|
|
* 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);
|
|
|
|
107 24 get_simulated_disconnect 0 4 124 47 CConnectionRepository::get_simulated_disconnect 0 1 45 188
|
|
/**
|
|
* 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;
|
|
|
|
108 14 toggle_verbose 0 4 124 37 CConnectionRepository::toggle_verbose 0 1 46 137
|
|
/**
|
|
* 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);
|
|
|
|
109 11 set_verbose 0 4 124 34 CConnectionRepository::set_verbose 0 1 47 120
|
|
/**
|
|
* 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);
|
|
|
|
110 11 get_verbose 0 4 124 34 CConnectionRepository::get_verbose 0 1 48 137
|
|
/**
|
|
* 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;
|
|
|
|
111 16 set_time_warning 0 4 124 39 CConnectionRepository::set_time_warning 0 1 49 170
|
|
/**
|
|
* 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);
|
|
|
|
112 16 get_time_warning 0 4 124 39 CConnectionRepository::get_time_warning 0 1 50 65
|
|
/**
|
|
* Returns the current setting of the time_warning field.
|
|
*/
|
|
65
|
|
inline float CConnectionRepository::get_time_warning(void) const;
|
|
|
|
113 26 CDistributedSmoothNodeBase 0 4 125 54 CDistributedSmoothNodeBase::CDistributedSmoothNodeBase 0 2 51 52 10
|
|
/**
|
|
*
|
|
*/
|
|
170
|
|
CDistributedSmoothNodeBase::CDistributedSmoothNodeBase(void);
|
|
inline CDistributedSmoothNodeBase::CDistributedSmoothNodeBase(CDistributedSmoothNodeBase const &) = default;
|
|
|
|
114 27 ~CDistributedSmoothNodeBase 0 4 125 55 CDistributedSmoothNodeBase::~CDistributedSmoothNodeBase 0 0 10
|
|
/**
|
|
*
|
|
*/
|
|
62
|
|
CDistributedSmoothNodeBase::~CDistributedSmoothNodeBase(void);
|
|
|
|
115 14 set_repository 0 4 125 42 CDistributedSmoothNodeBase::set_repository 0 1 53 110
|
|
/**
|
|
* Tells the C++ instance definition about the AI or Client repository, used
|
|
* for sending datagrams.
|
|
*/
|
|
122
|
|
inline void CDistributedSmoothNodeBase::set_repository(CConnectionRepository *repository, bool is_ai, CHANNEL_TYPE ai_id);
|
|
|
|
116 15 set_clock_delta 0 4 125 43 CDistributedSmoothNodeBase::set_clock_delta 0 1 54 80
|
|
/**
|
|
* Tells the C++ instance definition about the global ClockDelta object.
|
|
*/
|
|
79
|
|
inline void CDistributedSmoothNodeBase::set_clock_delta(PyObject *clock_delta);
|
|
|
|
117 10 initialize 0 4 125 38 CDistributedSmoothNodeBase::initialize 0 1 55 248
|
|
/**
|
|
* 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.
|
|
*/
|
|
108
|
|
void CDistributedSmoothNodeBase::initialize(NodePath const &node_path, DCClass *dclass, CHANNEL_TYPE do_id);
|
|
|
|
118 15 send_everything 0 4 125 43 CDistributedSmoothNodeBase::send_everything 0 1 56 63
|
|
/**
|
|
* Broadcasts the current pos/hpr in its complete form.
|
|
*/
|
|
55
|
|
void CDistributedSmoothNodeBase::send_everything(void);
|
|
|
|
119 22 broadcast_pos_hpr_full 0 4 125 50 CDistributedSmoothNodeBase::broadcast_pos_hpr_full 0 1 57 143
|
|
/**
|
|
* 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);
|
|
|
|
120 21 broadcast_pos_hpr_xyh 0 4 125 49 CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh 0 1 58 108
|
|
/**
|
|
* Examines only X, Y, and H of the pos/hpr information, and broadcasts the
|
|
* appropriate messages.
|
|
*/
|
|
61
|
|
void CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh(void);
|
|
|
|
121 20 broadcast_pos_hpr_xy 0 4 125 48 CDistributedSmoothNodeBase::broadcast_pos_hpr_xy 0 1 59 104
|
|
/**
|
|
* Examines only X and Y of the pos/hpr information, and broadcasts the
|
|
* appropriate messages.
|
|
*/
|
|
60
|
|
void CDistributedSmoothNodeBase::broadcast_pos_hpr_xy(void);
|
|
|
|
122 10 set_curr_l 0 4 125 38 CDistributedSmoothNodeBase::set_curr_l 0 1 60 54
|
|
/**
|
|
* Appends the timestamp and sends the update.
|
|
*/
|
|
56
|
|
void CDistributedSmoothNodeBase::set_curr_l(uint64_t l);
|
|
|
|
123 12 print_curr_l 0 4 125 40 CDistributedSmoothNodeBase::print_curr_l 0 1 61 0
|
|
52
|
|
void CDistributedSmoothNodeBase::print_curr_l(void);
|
|
|
|
61
|
|
1 0 0 7 2 127 63 0 10 /**
|
|
*
|
|
*/ 2 14 has_owner_view 1 126 12 threaded_net 1 126
|
|
2 0 0 6 4 128 0 0 69 /**
|
|
* Returns the DCFile object associated with this repository.
|
|
*/ 1 4 this 3 127
|
|
3 0 0 6 5 126 0 0 92 /**
|
|
* Returns true if this repository can have 'owner' views of distributed
|
|
* objects.
|
|
*/ 1 4 this 3 130
|
|
4 0 0 4 6 132 0 0 153 /**
|
|
* 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 127 16 handle_c_updates 1 126
|
|
5 0 0 6 7 126 0 0 145 /**
|
|
* 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 130
|
|
6 0 0 4 8 132 0 0 281 /**
|
|
* 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 127 15 client_datagram 1 126
|
|
7 0 0 6 9 126 0 0 44 /**
|
|
* Returns the client_datagram flag.
|
|
*/ 1 4 this 3 130
|
|
8 0 0 4 10 132 0 0 321 /**
|
|
* 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 127 27 handle_datagrams_internally 1 126
|
|
9 0 0 6 11 126 0 0 56 /**
|
|
* Returns the handle_datagrams_internally flag.
|
|
*/ 1 4 this 3 130
|
|
10 0 0 4 12 132 0 0 270 /**
|
|
* 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 127 15 tcp_header_size 1 133
|
|
11 0 0 6 13 133 0 0 86 /**
|
|
* Returns the current setting of TCP header size. See set_tcp_header_size().
|
|
*/ 1 4 this 3 130
|
|
12 0 0 4 14 132 0 0 200 /**
|
|
* 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 127 17 python_repository 1 134
|
|
13 0 0 4 15 132 0 0 200 /**
|
|
* 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 127 7 channel 1 137
|
|
14 0 0 6 16 139 0 0 160 /**
|
|
* Returns the SocketStream that internally represents the already-established
|
|
* HTTP connection. Returns NULL if there is no current HTTP connection.
|
|
*/ 1 4 this 3 127
|
|
15 0 0 6 17 126 0 0 155 /**
|
|
* 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 127 3 url 1 141
|
|
16 0 0 6 18 144 0 0 85 /**
|
|
* Returns the QueuedConnectionManager object associated with the repository.
|
|
*/ 1 4 this 3 127
|
|
17 0 0 6 19 146 0 0 78 /**
|
|
* Returns the ConnectionWriter object associated with the repository.
|
|
*/ 1 4 this 3 127
|
|
18 0 0 6 20 148 0 0 84 /**
|
|
* Returns the QueuedConnectionReader object associated with the repository.
|
|
*/ 1 4 this 3 127
|
|
19 0 0 6 21 126 0 0 91 /**
|
|
* Connects to the server using Panda's low-level and fast "native net"
|
|
* library.
|
|
*/ 2 4 this 3 127 3 url 1 141
|
|
20 0 0 6 22 150 0 0 92 /**
|
|
* Returns the Buffered_DatagramConnection object associated with the
|
|
* repository.
|
|
*/ 1 4 this 3 127
|
|
21 0 0 6 23 126 0 0 226 /**
|
|
* 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 127
|
|
22 0 0 4 24 132 0 0 102 /**
|
|
* Fills the datagram object with the datagram most recently retrieved by
|
|
* check_datagram().
|
|
*/ 2 4 this 3 127 2 dg 1 152
|
|
23 0 0 4 25 132 0 0 256 /**
|
|
* 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 127 2 di 1 154
|
|
24 0 0 6 26 156 0 0 160 /**
|
|
* 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 130 6 offset 1 133
|
|
25 0 0 6 27 133 0 0 0 1 4 this 3 130
|
|
26 0 0 6 28 156 0 0 144 /**
|
|
* 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 130
|
|
27 0 0 6 29 159 0 0 92 /**
|
|
* Returns the type ID of the current message, according to the datagram
|
|
* headers.
|
|
*/ 1 4 this 3 130
|
|
28 0 0 6 30 160 0 0 94 /**
|
|
* Returns event string that will be thrown if the datagram reader queue
|
|
* overflows.
|
|
*/ 0
|
|
29 0 0 6 31 126 0 0 303 /**
|
|
* 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 127
|
|
30 0 0 6 32 126 0 0 177 /**
|
|
* 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 127 2 dg 1 161
|
|
31 0 0 4 33 132 0 0 51 /**
|
|
* Enable/disable outbound message bundling
|
|
*/ 2 4 this 3 127 4 flag 1 126
|
|
32 0 0 6 34 126 0 0 51 /**
|
|
* Returns true if message bundling enabled
|
|
*/ 1 4 this 3 130
|
|
33 0 0 4 35 132 0 0 43 /**
|
|
* Enables/disables quiet zone mode
|
|
*/ 2 4 this 3 127 4 flag 1 126
|
|
34 0 0 6 36 126 0 0 59 /**
|
|
* Returns true if repository is in quiet zone mode
|
|
*/ 1 4 this 3 130
|
|
35 0 0 4 37 132 0 0 300 /**
|
|
* 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 127
|
|
36 0 0 6 38 126 0 0 92 /**
|
|
* Returns true if repository is queueing outgoing messages into a message
|
|
* bundle
|
|
*/ 1 4 this 3 130
|
|
37 0 0 4 39 132 0 0 79 /**
|
|
* Send network messages queued up since startMessageBundle was called.
|
|
*/ 3 4 this 3 127 7 channel 1 159 14 sender_channel 1 159
|
|
38 0 0 4 40 132 0 0 74 /**
|
|
* throw out any msgs that have been queued up for message bundles
|
|
*/ 1 4 this 3 127
|
|
39 0 0 4 41 132 0 0 10 /**
|
|
*
|
|
*/ 2 4 this 3 127 2 dg 1 161
|
|
40 0 0 6 42 126 0 0 143 /**
|
|
* 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 127
|
|
41 0 0 6 43 126 0 0 120 /**
|
|
* Sends the most recently queued data now. This only has meaning if
|
|
* set_collect_tcp() has been set to true.
|
|
*/ 1 4 this 3 127
|
|
42 0 0 4 44 132 0 0 47 /**
|
|
* Closes the connection to the server.
|
|
*/ 1 4 this 3 127
|
|
43 0 0 4 45 132 0 0 86 /**
|
|
* May be called at application shutdown to ensure all threads are cleaned up.
|
|
*/ 1 4 this 3 127
|
|
44 0 0 4 46 132 0 0 185 /**
|
|
* 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 127 20 simulated_disconnect 1 126
|
|
45 0 0 6 47 126 0 0 188 /**
|
|
* 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 130
|
|
46 0 0 4 48 132 0 0 137 /**
|
|
* 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 127
|
|
47 0 0 4 49 132 0 0 120 /**
|
|
* Directly sets the verbose flag. When true, this describes every message
|
|
* going back and forth on the wire.
|
|
*/ 2 4 this 3 127 7 verbose 1 126
|
|
48 0 0 6 50 126 0 0 137 /**
|
|
* 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 130
|
|
49 0 0 4 51 132 0 0 170 /**
|
|
* 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 127 12 time_warning 1 163
|
|
50 0 0 6 52 163 0 0 65 /**
|
|
* Returns the current setting of the time_warning field.
|
|
*/ 1 4 this 3 130
|
|
51 0 0 7 54 164 114 0 10 /**
|
|
*
|
|
*/ 0
|
|
52 0 0 7 54 164 114 0 0 1 6 param0 0 165
|
|
53 0 0 4 56 132 0 0 110 /**
|
|
* Tells the C++ instance definition about the AI or Client repository, used
|
|
* for sending datagrams.
|
|
*/ 4 4 this 3 164 10 repository 1 127 5 is_ai 1 126 5 ai_id 1 156
|
|
54 0 0 4 57 132 0 0 80 /**
|
|
* Tells the C++ instance definition about the global ClockDelta object.
|
|
*/ 2 4 this 3 164 11 clock_delta 1 134
|
|
55 0 0 4 58 132 0 0 248 /**
|
|
* 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 164 9 node_path 1 167 6 dclass 1 170 5 do_id 1 156
|
|
56 0 0 4 59 132 0 0 63 /**
|
|
* Broadcasts the current pos/hpr in its complete form.
|
|
*/ 1 4 this 3 164
|
|
57 0 0 4 60 132 0 0 143 /**
|
|
* Examines the complete pos/hpr information to see which of the six elements
|
|
* have changed, and broadcasts the appropriate messages.
|
|
*/ 1 4 this 3 164
|
|
58 0 0 4 61 132 0 0 108 /**
|
|
* Examines only X, Y, and H of the pos/hpr information, and broadcasts the
|
|
* appropriate messages.
|
|
*/ 1 4 this 3 164
|
|
59 0 0 4 62 132 0 0 104 /**
|
|
* Examines only X and Y of the pos/hpr information, and broadcasts the
|
|
* appropriate messages.
|
|
*/ 1 4 this 3 164
|
|
60 0 0 4 63 132 0 0 54 /**
|
|
* Appends the timestamp and sends the update.
|
|
*/ 2 4 this 3 164 1 l 1 157
|
|
61 0 0 4 64 132 0 0 0 1 4 this 3 164
|
|
48
|
|
124 21 CConnectionRepository 0 26625 21 CConnectionRepository 21 CConnectionRepository 0 0 0 1 62 63 0 49 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 111 112 0 0 0 0 0 568
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
125 26 CDistributedSmoothNodeBase 0 26625 26 CDistributedSmoothNodeBase 26 CDistributedSmoothNodeBase 0 0 0 1 113 114 0 9 115 116 117 118 119 120 121 122 123 0 0 0 0 0 142
|
|
/**
|
|
* This class defines some basic methods of DistributedSmoothNodeBase which
|
|
* have been moved into C++ as a performance optimization.
|
|
*/
|
|
|
|
126 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
127 23 CConnectionRepository * 0 8576 23 CConnectionRepository * 23 CConnectionRepository * 0 0 124 0 0 0 0 0 0 0 0 0 0
|
|
|
|
128 8 DCFile * 0 8576 8 DCFile * 8 DCFile * 0 0 129 0 0 0 0 0 0 0 0 0 0
|
|
|
|
129 6 DCFile 0 2048 6 DCFile 6 DCFile 0 0 0 0 0 0 0 0 0 0 0 0 101
|
|
/**
|
|
* Represents the complete list of Distributed Class descriptions as read from
|
|
* a .dc file.
|
|
*/
|
|
|
|
130 29 CConnectionRepository const * 0 8576 29 CConnectionRepository const * 29 CConnectionRepository const * 0 0 131 0 0 0 0 0 0 0 0 0 0
|
|
|
|
131 27 CConnectionRepository const 0 8832 27 CConnectionRepository const 27 CConnectionRepository const 0 0 124 0 0 0 0 0 0 0 0 0 0
|
|
|
|
132 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
133 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
134 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 135 0 0 0 0 0 0 0 0 0 0
|
|
|
|
135 8 PyObject 0 2105344 8 PyObject 8 PyObject 0 0 136 0 0 0 0 0 0 0 0 0 0
|
|
|
|
136 7 _object 0 1024 7 _object 7 _object 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
137 13 HTTPChannel * 0 8576 13 HTTPChannel * 13 HTTPChannel * 0 0 138 0 0 0 0 0 0 0 0 0 0
|
|
|
|
138 11 HTTPChannel 0 2048 11 HTTPChannel 11 HTTPChannel 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
139 14 SocketStream * 0 8576 14 SocketStream * 14 SocketStream * 0 0 140 0 0 0 0 0 0 0 0 0 0
|
|
|
|
140 12 SocketStream 0 2048 12 SocketStream 12 SocketStream 0 0 0 0 0 0 0 0 0 0 0 0 97
|
|
/**
|
|
* A base class for iostreams that read and write to a (possibly non-blocking)
|
|
* socket.
|
|
*/
|
|
|
|
141 15 URLSpec const * 0 8576 15 URLSpec const * 15 URLSpec const * 0 0 142 0 0 0 0 0 0 0 0 0 0
|
|
|
|
142 13 URLSpec const 0 8832 13 URLSpec const 13 URLSpec const 0 0 143 0 0 0 0 0 0 0 0 0 0
|
|
|
|
143 7 URLSpec 0 2048 7 URLSpec 7 URLSpec 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
144 25 QueuedConnectionManager * 0 8576 25 QueuedConnectionManager * 25 QueuedConnectionManager * 0 0 145 0 0 0 0 0 0 0 0 0 0
|
|
|
|
145 23 QueuedConnectionManager 0 2048 23 QueuedConnectionManager 23 QueuedConnectionManager 0 0 0 0 0 0 0 0 0 0 0 0 423
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
146 18 ConnectionWriter * 0 8576 18 ConnectionWriter * 18 ConnectionWriter * 0 0 147 0 0 0 0 0 0 0 0 0 0
|
|
|
|
147 16 ConnectionWriter 0 2048 16 ConnectionWriter 16 ConnectionWriter 0 0 0 0 0 0 0 0 0 0 0 0 294
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
148 24 QueuedConnectionReader * 0 8576 24 QueuedConnectionReader * 24 QueuedConnectionReader * 0 0 149 0 0 0 0 0 0 0 0 0 0
|
|
|
|
149 22 QueuedConnectionReader 0 2048 22 QueuedConnectionReader 22 QueuedConnectionReader 0 0 0 0 0 0 0 0 0 0 0 0 291
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
150 29 Buffered_DatagramConnection * 0 8576 29 Buffered_DatagramConnection * 29 Buffered_DatagramConnection * 0 0 151 0 0 0 0 0 0 0 0 0 0
|
|
|
|
151 27 Buffered_DatagramConnection 0 2048 27 Buffered_DatagramConnection 27 Buffered_DatagramConnection 0 0 0 0 0 0 0 0 0 0 0 0 176
|
|
// there are 3 states 1. Socket not even assigned,,,, 2. Socket Assigned and
|
|
// trying to get a active connect open 3. Socket is open and writable.. (
|
|
// Fully powered up )...
|
|
|
|
152 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 153 0 0 0 0 0 0 0 0 0 0
|
|
|
|
153 8 Datagram 0 2048 8 Datagram 8 Datagram 0 0 0 0 0 0 0 0 0 0 0 0 565
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
154 18 DatagramIterator * 0 8576 18 DatagramIterator * 18 DatagramIterator * 0 0 155 0 0 0 0 0 0 0 0 0 0
|
|
|
|
155 16 DatagramIterator 0 2048 16 DatagramIterator 16 DatagramIterator 0 0 0 0 0 0 0 0 0 0 0 0 215
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
156 12 CHANNEL_TYPE 0 2105344 12 CHANNEL_TYPE 12 CHANNEL_TYPE 0 0 157 0 0 0 0 0 0 0 0 0 0
|
|
|
|
157 8 uint64_t 0 2105344 8 uint64_t 8 uint64_t 0 0 158 0 0 0 0 0 0 0 0 0 0
|
|
|
|
158 22 unsigned long long int 0 8230 22 unsigned long long int 22 unsigned long long int 0 8 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
159 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
160 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
161 16 Datagram const * 0 8576 16 Datagram const * 16 Datagram const * 0 0 162 0 0 0 0 0 0 0 0 0 0
|
|
|
|
162 14 Datagram const 0 8832 14 Datagram const 14 Datagram const 0 0 153 0 0 0 0 0 0 0 0 0 0
|
|
|
|
163 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
164 28 CDistributedSmoothNodeBase * 0 8576 28 CDistributedSmoothNodeBase * 28 CDistributedSmoothNodeBase * 0 0 125 0 0 0 0 0 0 0 0 0 0
|
|
|
|
165 34 CDistributedSmoothNodeBase const * 0 8576 34 CDistributedSmoothNodeBase const * 34 CDistributedSmoothNodeBase const * 0 0 166 0 0 0 0 0 0 0 0 0 0
|
|
|
|
166 32 CDistributedSmoothNodeBase const 0 8832 32 CDistributedSmoothNodeBase const 32 CDistributedSmoothNodeBase const 0 0 125 0 0 0 0 0 0 0 0 0 0
|
|
|
|
167 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 168 0 0 0 0 0 0 0 0 0 0
|
|
|
|
168 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 169 0 0 0 0 0 0 0 0 0 0
|
|
|
|
169 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 0 0 0 0 0 762
|
|
/**
|
|
* 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.
|
|
*/
|
|
|
|
170 9 DCClass * 0 8576 9 DCClass * 9 DCClass * 0 0 171 0 0 0 0 0 0 0 0 0 0
|
|
|
|
171 7 DCClass 0 2048 7 DCClass 7 DCClass 0 0 0 0 0 0 0 0 0 0 0 0 80
|
|
/**
|
|
* Defines a particular DistributedClass as read from an input .dc file.
|
|
*/
|
|
|
|
0
|
|
0
|
|
0
|