Skip to content

Commit 646bbe0

Browse files
author
Vincent Raman
committed
Changed ack from message::ptr to message::list
1 parent bbbc1e3 commit 646bbe0

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

src/sio_message.h

+13
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,12 @@ namespace sio
291291
m_vector(std::move(rhs.m_vector))
292292
{
293293

294+
}
295+
296+
list & operator= (const message::list && rhs)
297+
{
298+
m_vector = std::move(rhs.m_vector);
299+
return *this;
294300
}
295301

296302
template <typename T>
@@ -369,6 +375,13 @@ namespace sio
369375
return arr;
370376
}
371377

378+
message::ptr to_array_message() const
379+
{
380+
message::ptr arr = array_message::create();
381+
arr->get_vector().insert(arr->get_vector().end(),m_vector.begin(),m_vector.end());
382+
return arr;
383+
}
384+
372385
private:
373386
vector<message::ptr> m_vector;
374387
};

src/sio_socket.cpp

+7-8
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,10 @@ namespace sio
6767
return m_need_ack;
6868
}
6969

70-
void event::put_ack_message(message::ptr const& ack_message)
70+
void event::put_ack_message(message::list const& ack_message)
7171
{
7272
if(m_need_ack)
73-
m_ack_message = ack_message;
73+
m_ack_message = std::move(ack_message);
7474
}
7575

7676
inline
@@ -91,13 +91,13 @@ namespace sio
9191
{
9292
}
9393

94-
message::ptr const& event::get_ack_message() const
94+
message::list const& event::get_ack_message() const
9595
{
9696
return m_ack_message;
9797
}
9898

9999
inline
100-
message::ptr& event::get_ack_message_impl()
100+
message::list& event::get_ack_message_impl()
101101
{
102102
return m_ack_message;
103103
}
@@ -155,7 +155,7 @@ namespace sio
155155

156156
event_listener get_bind_listener_locked(string const& event);
157157

158-
void ack(int msgId,string const& name,message::ptr const& ack_message);
158+
void ack(int msgId,string const& name,message::list const& ack_message);
159159

160160
void timeout_connection(const boost::system::error_code &ec);
161161

@@ -449,10 +449,9 @@ namespace sio
449449
}
450450
}
451451

452-
void socket::impl::ack(int msgId, const string &name, const message::ptr &ack_message)
452+
void socket::impl::ack(int msgId, const string &name, const message::list &ack_message)
453453
{
454-
message::list li(ack_message);
455-
packet p(m_nsp, li.to_array_message(name),msgId,true);
454+
packet p(m_nsp, ack_message.to_array_message(),msgId,true);
456455
send_packet(p);
457456
}
458457

src/sio_socket.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@ namespace sio
1919

2020
bool need_ack() const;
2121

22-
void put_ack_message(message::ptr const& ack_message);
22+
void put_ack_message(message::list const& ack_message);
2323

24-
message::ptr const& get_ack_message() const;
24+
message::list const& get_ack_message() const;
2525

2626
protected:
2727
event(std::string const& nsp,std::string const& name,message::list const& messages,bool need_ack);
2828
event(std::string const& nsp,std::string const& name,message::list&& messages,bool need_ack);
2929

30-
message::ptr& get_ack_message_impl();
30+
message::list& get_ack_message_impl();
3131

3232
private:
3333
const std::string m_nsp;
3434
const std::string m_name;
3535
const message::list m_messages;
3636
const bool m_need_ack;
37-
message::ptr m_ack_message;
37+
message::list m_ack_message;
3838

3939
friend class event_adapter;
4040
};
@@ -46,7 +46,7 @@ namespace sio
4646
class socket
4747
{
4848
public:
49-
typedef std::function<void(const std::string& name,message::ptr const& message,bool need_ack, message::ptr& ack_message)> event_listener_aux;
49+
typedef std::function<void(const std::string& name,message::ptr const& message,bool need_ack, message::list& ack_message)> event_listener_aux;
5050

5151
typedef std::function<void(event& event)> event_listener;
5252

0 commit comments

Comments
 (0)