Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: net/curvecp/messenger.h

Issue 8824006: Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/curvecp/curvecp_transfer_unittest.cc ('k') | net/curvecp/messenger.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 NET_CURVECP_MESSENGER_H_ 5 #ifndef NET_CURVECP_MESSENGER_H_
6 #define NET_CURVECP_MESSENGER_H_ 6 #define NET_CURVECP_MESSENGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <list> 10 #include <list>
(...skipping 15 matching lines...) Expand all
26 class IOBufferWithSize; 26 class IOBufferWithSize;
27 class Packetizer; 27 class Packetizer;
28 28
29 // The messenger provides the reliable CurveCP transport. 29 // The messenger provides the reliable CurveCP transport.
30 class Messenger : public base::NonThreadSafe, 30 class Messenger : public base::NonThreadSafe,
31 public Packetizer::Listener { 31 public Packetizer::Listener {
32 public: 32 public:
33 explicit Messenger(Packetizer* packetizer); 33 explicit Messenger(Packetizer* packetizer);
34 virtual ~Messenger(); 34 virtual ~Messenger();
35 35
36 int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
37 int Read(IOBuffer* buf, int buf_len, const CompletionCallback& callback); 36 int Read(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
38 int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback); 37 int Write(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
39 38
40 // Packetizer::Listener implementation. 39 // Packetizer::Listener implementation.
41 virtual void OnConnection(ConnectionKey key) OVERRIDE; 40 virtual void OnConnection(ConnectionKey key) OVERRIDE;
42 virtual void OnClose(Packetizer* packetizer, ConnectionKey key); 41 virtual void OnClose(Packetizer* packetizer, ConnectionKey key);
43 virtual void OnMessage(Packetizer* packetizer, 42 virtual void OnMessage(Packetizer* packetizer,
44 ConnectionKey key, 43 ConnectionKey key,
45 unsigned char* msg, 44 unsigned char* msg,
46 size_t length) OVERRIDE; 45 size_t length) OVERRIDE;
47 46
48 protected: 47 protected:
(...skipping 15 matching lines...) Expand all
64 void SendMessage(int64 position); 63 void SendMessage(int64 position);
65 void RecvMessage(); 64 void RecvMessage();
66 void SendAck(uint32 last_message_received); 65 void SendAck(uint32 last_message_received);
67 66
68 RttAndSendRateCalculator rtt_; 67 RttAndSendRateCalculator rtt_;
69 Packetizer* packetizer_; 68 Packetizer* packetizer_;
70 69
71 // The send_buffer is a list of pending data to pack into messages and send 70 // The send_buffer is a list of pending data to pack into messages and send
72 // to the remote. 71 // to the remote.
73 CircularBuffer send_buffer_; 72 CircularBuffer send_buffer_;
74 OldCompletionCallback* send_complete_callback_; 73 CompletionCallback send_complete_callback_;
75 scoped_refptr<IOBuffer> pending_send_; 74 scoped_refptr<IOBuffer> pending_send_;
76 int pending_send_length_; 75 int pending_send_length_;
77 76
78 // The read_buffer is a list of pending data which has been unpacked from 77 // The read_buffer is a list of pending data which has been unpacked from
79 // messages and is awaiting delivery to the application. 78 // messages and is awaiting delivery to the application.
80 OldCompletionCallback* old_receive_complete_callback_;
81 CompletionCallback receive_complete_callback_; 79 CompletionCallback receive_complete_callback_;
82 scoped_refptr<IOBuffer> pending_receive_; 80 scoped_refptr<IOBuffer> pending_receive_;
83 int pending_receive_length_; 81 int pending_receive_length_;
84 82
85 // The list of received but unprocessed messages. 83 // The list of received but unprocessed messages.
86 std::list<scoped_refptr<IOBufferWithSize> > read_queue_; 84 std::list<scoped_refptr<IOBufferWithSize> > read_queue_;
87 85
88 ReceivedBlockList received_list_; 86 ReceivedBlockList received_list_;
89 SentBlockList sent_list_; 87 SentBlockList sent_list_;
90 bool send_message_in_progress_; 88 bool send_message_in_progress_;
91 89
92 // A timer to fire when a timeout has occurred. 90 // A timer to fire when a timeout has occurred.
93 base::OneShotTimer<Messenger> send_timeout_timer_; 91 base::OneShotTimer<Messenger> send_timeout_timer_;
94 // A timer to fire when we can send data. 92 // A timer to fire when we can send data.
95 base::OneShotTimer<Messenger> send_timer_; 93 base::OneShotTimer<Messenger> send_timer_;
96 94
97 OldCompletionCallbackImpl<Messenger> send_message_callback_;
98
99 ScopedRunnableMethodFactory<Messenger> factory_;
100 DISALLOW_COPY_AND_ASSIGN(Messenger); 95 DISALLOW_COPY_AND_ASSIGN(Messenger);
101 }; 96 };
102 97
103 } // namespace net 98 } // namespace net
104 99
105 #endif // NET_CURVECP_MESSENGER_H_ 100 #endif // NET_CURVECP_MESSENGER_H_
OLDNEW
« no previous file with comments | « net/curvecp/curvecp_transfer_unittest.cc ('k') | net/curvecp/messenger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698