| Index: mojo/system/proxy_message_pipe_endpoint.h
|
| diff --git a/mojo/system/proxy_message_pipe_endpoint.h b/mojo/system/proxy_message_pipe_endpoint.h
|
| index 7d62b9b79e16b8ac98c75eb566df8c7d2d616471..28b634d90606b7fd95c55897990ad6d656294a94 100644
|
| --- a/mojo/system/proxy_message_pipe_endpoint.h
|
| +++ b/mojo/system/proxy_message_pipe_endpoint.h
|
| @@ -53,14 +53,22 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint
|
|
|
| // |MessagePipeEndpoint| implementation:
|
| virtual Type GetType() const OVERRIDE;
|
| - virtual void Close() OVERRIDE;
|
| - virtual void OnPeerClose() OVERRIDE;
|
| + virtual bool OnPeerClose() OVERRIDE;
|
| virtual void EnqueueMessage(scoped_ptr<MessageInTransit> message) OVERRIDE;
|
| virtual void Attach(scoped_refptr<Channel> channel,
|
| MessageInTransit::EndpointId local_id) OVERRIDE;
|
| - virtual void Run(MessageInTransit::EndpointId remote_id) OVERRIDE;
|
| + virtual bool Run(MessageInTransit::EndpointId remote_id) OVERRIDE;
|
| + virtual void OnRemove() OVERRIDE;
|
|
|
| private:
|
| + void Detach();
|
| +
|
| +#ifdef NDEBUG
|
| + void AssertConsistentState() const {}
|
| +#else
|
| + void AssertConsistentState() const;
|
| +#endif
|
| +
|
| bool is_attached() const {
|
| return !!channel_.get();
|
| }
|
| @@ -69,12 +77,6 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint
|
| return remote_id_ != MessageInTransit::kInvalidEndpointId;
|
| }
|
|
|
| -#ifdef NDEBUG
|
| - void AssertConsistentState() const {}
|
| -#else
|
| - void AssertConsistentState() const;
|
| -#endif
|
| -
|
| // This should only be set if we're attached.
|
| scoped_refptr<Channel> channel_;
|
|
|
| @@ -88,7 +90,6 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint
|
| // we're attached.
|
| MessageInTransit::EndpointId remote_id_;
|
|
|
| - bool is_open_;
|
| bool is_peer_open_;
|
|
|
| // This queue is only used while we're detached, to store messages while we're
|
|
|