Chromium Code Reviews| 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_H_ | 5 #ifndef IPC_IPC_CHANNEL_H_ |
| 6 #define IPC_IPC_CHANNEL_H_ | 6 #define IPC_IPC_CHANNEL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 215 // Connect the pipe. On the server side, this will initiate | 215 // Connect the pipe. On the server side, this will initiate |
| 216 // waiting for connections. On the client, it attempts to | 216 // waiting for connections. On the client, it attempts to |
| 217 // connect to a pre-existing pipe. Note, calling Connect() | 217 // connect to a pre-existing pipe. Note, calling Connect() |
| 218 // will not block the calling thread and may complete | 218 // will not block the calling thread and may complete |
| 219 // asynchronously. | 219 // asynchronously. |
| 220 // | 220 // |
| 221 // The subclass implementation must call WillConnect() at the beginning of its | 221 // The subclass implementation must call WillConnect() at the beginning of its |
| 222 // implementation. | 222 // implementation. |
| 223 virtual bool Connect() WARN_UNUSED_RESULT = 0; | 223 virtual bool Connect() WARN_UNUSED_RESULT = 0; |
| 224 | 224 |
| 225 // Similar to (and exclusive to) Connect() above, but blocks outgoing messages | |
| 226 // until a future call to Unpause(). | |
| 227 // | |
| 228 // Not all implementations support ConnectPaused(). Note that this interface | |
| 229 // exists only to facilitate weird behavior where some Channel consumers want | |
| 230 // force some early messages to be transmitted before ones which were sent | |
|
yzshen1
2016/09/02 22:03:36
nit: force -> to force?
Ken Rockot(use gerrit already)
2016/09/06 17:21:27
Done
| |
| 231 // earlier. This allows that to be done without the consumer implementing | |
| 232 // their own message queueing support which may be incompatible with the | |
| 233 // Channel's internal queueing behavior. | |
| 234 virtual bool ConnectPaused() WARN_UNUSED_RESULT; | |
| 235 | |
| 236 // Unpause the pipe. This allows subsequent Send() calls to transmit messages | |
| 237 // immediately, without queueing. If |flush| is true, any messages queued | |
| 238 // while paused will be flushed immediately upon unpausing. Otherwise you must | |
| 239 // call Flush() explicitly. | |
| 240 // | |
| 241 // Not all implementations support Unpause(). See ConnectPaused() above for | |
| 242 // details. | |
| 243 virtual void Unpause(bool flush); | |
| 244 | |
| 245 // Manually flush the pipe. This is only useful exactly once, and only after | |
| 246 // a call to Unpause(false), in order to explicitly flush out any | |
| 247 // messages which were queued prior to unpausing. | |
| 248 // | |
| 249 // Not all implementations support Flush(). See ConnectPaused() above for | |
| 250 // details. | |
| 251 virtual void Flush(); | |
| 252 | |
| 225 // Close this Channel explicitly. May be called multiple times. | 253 // Close this Channel explicitly. May be called multiple times. |
| 226 // On POSIX calling close on an IPC channel that listens for connections will | 254 // On POSIX calling close on an IPC channel that listens for connections will |
| 227 // cause it to close any accepted connections, and it will stop listening for | 255 // cause it to close any accepted connections, and it will stop listening for |
| 228 // new connections. If you just want to close the currently accepted | 256 // new connections. If you just want to close the currently accepted |
| 229 // connection and listen for new ones, use ResetToAcceptingConnectionState. | 257 // connection and listen for new ones, use ResetToAcceptingConnectionState. |
| 230 virtual void Close() = 0; | 258 virtual void Close() = 0; |
| 231 | 259 |
| 232 // Get its own process id. This value is told to the peer. | 260 // Get its own process id. This value is told to the peer. |
| 233 virtual base::ProcessId GetSelfPID() const = 0; | 261 virtual base::ProcessId GetSelfPID() const = 0; |
| 234 | 262 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 340 | 368 |
| 341 #if defined(OS_POSIX) | 369 #if defined(OS_POSIX) |
| 342 // SocketPair() creates a pair of socket FDs suitable for using with | 370 // SocketPair() creates a pair of socket FDs suitable for using with |
| 343 // IPC::Channel. | 371 // IPC::Channel. |
| 344 IPC_EXPORT bool SocketPair(int* fd1, int* fd2); | 372 IPC_EXPORT bool SocketPair(int* fd1, int* fd2); |
| 345 #endif | 373 #endif |
| 346 | 374 |
| 347 } // namespace IPC | 375 } // namespace IPC |
| 348 | 376 |
| 349 #endif // IPC_IPC_CHANNEL_H_ | 377 #endif // IPC_IPC_CHANNEL_H_ |
| OLD | NEW |