Skip to content

Commit 40b1f8b

Browse files
committed
Update talk.java as message would not be copied once it hasn't pushed to
the message list.
1 parent 3dfa232 commit 40b1f8b

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

src/tinystruct/examples/talk.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,19 +99,21 @@ public final String save(final Object meetingCode, final Builder builder) {
9999

100100
try {
101101
messages.put(builder);
102+
103+
this.getService().execute(new Runnable(){
104+
@Override
105+
public void run() {
106+
Builder message;
107+
if (talk.this.meetings.get(meetingCode) == null || (message = talk.this.meetings.get(meetingCode).poll()) == null) return;
108+
talk.this.copy(meetingCode, message);
109+
}
110+
});
111+
return builder.toString();
102112
} catch (InterruptedException e) {
103113
e.printStackTrace();
104114
}
105115

106-
this.getService().execute(new Runnable(){
107-
@Override
108-
public void run() {
109-
Builder message;
110-
if (talk.this.meetings.get(meetingCode) == null || (message = talk.this.meetings.get(meetingCode).poll()) == null) return;
111-
talk.this.copy(meetingCode, message);
112-
}
113-
});
114-
return builder.toString();
116+
return "{}";
115117
}
116118

117119
private ExecutorService getService() {
@@ -164,8 +166,8 @@ private final void copy(Object meetingCode, Builder builder) {
164166
Entry<String, Queue<Builder>> list = iterator.next();
165167
if(_sessions.contains(list.getKey())) {
166168
synchronized(monitor) {
167-
list.getValue().add(builder);
168-
monitor.notifyAll();
169+
list.getValue().add(builder);
170+
monitor.notifyAll();
169171
}
170172
}
171173
}

0 commit comments

Comments
 (0)