5 #ifndef LOG_WALKER_THREAD_H
6 #define LOG_WALKER_THREAD_H
8 #include "ace/SString.h"
10 #include "ace/Containers.h"
11 #include "ace/Hash_Map_Manager.h"
12 #include "Invocation.h"
13 #include "PeerProcess.h"
15 typedef ACE_Unbounded_Stack
<PeerProcess
*> PeerProcessStack
;
16 typedef ACE_Unbounded_Stack
<Invocation
*> InvocationStack
;
21 Thread (long tid
, const char *alias
, size_t offset
);
22 void add_time (const ACE_CString
&time
);
24 long max_depth (void) const;
25 long client_encounters (void) const;
26 long server_encounters (void) const;
28 const ACE_CString
&alias (void) const;
29 void split_filename (char *buff
, size_t len
) const;
31 void incoming_from (PeerProcess
*);
32 void add_invocation (Invocation
*);
33 void push_invocation (Invocation
*);
34 void pop_invocation (void);
35 Invocation
*current_invocation (void) const;
37 PeerProcess
*incoming (void) const;
38 void handle_request (void);
39 void enter_wait (PeerProcess
*);
40 void exit_wait (PeerProcess
*, size_t linenum
);
41 GIOP_Buffer
*giop_target (void);
42 void set_giop_target (GIOP_Buffer
*buffer
);
43 void dump_summary (ostream
&strm
);
44 void dump_invocations (ostream
&strm
);
45 void dump_incidents (ostream
&strm
, const ACE_Time_Value
& start
);
47 void get_summary (long &sent_reqs
, long &recv_reqs
, size_t &sent_size
, size_t &recv_size
);
49 void push_new_connection (PeerProcess
*pp
);
50 PeerProcess
*pop_new_connection (void);
51 PeerProcess
*peek_new_connection (void) const;
53 void pending_local_addr (const ACE_CString
&addr
);
54 const ACE_CString
& pending_local_addr (void) const;
55 void active_handle (long handle
);
56 long active_handle (void) const;
57 void set_dup (Thread
*other
, bool set_other
);
58 void clear_dup (void);
59 void swap_target (void);
62 size_t count_nesting (void);
68 long client_encounters_
;
69 long server_encounters_
;
71 PeerProcessStack pending_
;
72 PeerProcess
*incoming_
;
73 PeerProcessStack new_connection_
;
74 ACE_CString pending_local_addr_
;
75 GIOP_Buffer
*giop_target_
;
77 InvocationList invocations_
;
78 InvocationStack current_invocation_
;
81 ACE_CString first_time_
;
82 ACE_CString last_time_
;
85 #endif // LOG_WALKER_THREAD_H