OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IPC_IPC_CHANNEL_WIN_H_ | 5 #ifndef IPC_IPC_CHANNEL_WIN_H_ |
6 #define IPC_IPC_CHANNEL_WIN_H_ | 6 #define IPC_IPC_CHANNEL_WIN_H_ |
7 | 7 |
8 #include "ipc/ipc_channel.h" | 8 #include "ipc/ipc_channel.h" |
9 | 9 |
10 #include <queue> | 10 #include <queue> |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 // this queue are placed in the output_queue_. The double queue is | 98 // this queue are placed in the output_queue_. The double queue is |
99 // unfortunate, but is necessary because messages with brokerable attachments | 99 // unfortunate, but is necessary because messages with brokerable attachments |
100 // can generate multiple messages to be sent (possibly from other channels). | 100 // can generate multiple messages to be sent (possibly from other channels). |
101 // Some of these generated messages cannot be sent until |peer_pid_| has been | 101 // Some of these generated messages cannot be sent until |peer_pid_| has been |
102 // configured. | 102 // configured. |
103 // As soon as |peer_pid| has been configured, there is no longer any need for | 103 // As soon as |peer_pid| has been configured, there is no longer any need for |
104 // |prelim_queue_|. All messages are flushed, and no new messages are added. | 104 // |prelim_queue_|. All messages are flushed, and no new messages are added. |
105 std::queue<Message*> prelim_queue_; | 105 std::queue<Message*> prelim_queue_; |
106 | 106 |
107 // Messages to be sent are queued here. | 107 // Messages to be sent are queued here. |
108 std::queue<OutputElement*> output_queue_; | 108 std::queue<Message*> output_queue_; |
109 | 109 |
110 // In server-mode, we have to wait for the client to connect before we | 110 // In server-mode, we have to wait for the client to connect before we |
111 // can begin reading. We make use of the input_state_ when performing | 111 // can begin reading. We make use of the input_state_ when performing |
112 // the connect operation in overlapped mode. | 112 // the connect operation in overlapped mode. |
113 bool waiting_connect_; | 113 bool waiting_connect_; |
114 | 114 |
115 // This flag is set when processing incoming messages. It is used to | 115 // This flag is set when processing incoming messages. It is used to |
116 // avoid recursing through ProcessIncomingMessages, which could cause | 116 // avoid recursing through ProcessIncomingMessages, which could cause |
117 // problems. TODO(darin): make this unnecessary | 117 // problems. TODO(darin): make this unnecessary |
118 bool processing_incoming_; | 118 bool processing_incoming_; |
(...skipping 15 matching lines...) Expand all Loading... |
134 // |broker_| must outlive this instance. | 134 // |broker_| must outlive this instance. |
135 AttachmentBroker* broker_; | 135 AttachmentBroker* broker_; |
136 | 136 |
137 base::WeakPtrFactory<ChannelWin> weak_factory_; | 137 base::WeakPtrFactory<ChannelWin> weak_factory_; |
138 DISALLOW_COPY_AND_ASSIGN(ChannelWin); | 138 DISALLOW_COPY_AND_ASSIGN(ChannelWin); |
139 }; | 139 }; |
140 | 140 |
141 } // namespace IPC | 141 } // namespace IPC |
142 | 142 |
143 #endif // IPC_IPC_CHANNEL_WIN_H_ | 143 #endif // IPC_IPC_CHANNEL_WIN_H_ |
OLD | NEW |