Skip to content

Commit

Permalink
fix publishing bug - post rebase linting (stage 1)
Browse files Browse the repository at this point in the history
 Addressing a bug that was introduced after fixing lints post rebasing.
  • Loading branch information
tiholic committed Nov 23, 2020
1 parent fd96591 commit 1518a13
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 25 deletions.
22 changes: 7 additions & 15 deletions lib/src/impl/realtime/channels.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ class RealtimePlatformChannel extends PlatformObject
if (options != null) 'options': options,
};

final _publishQueue = Queue<_RealtimePublishQueueItem>();
final _publishQueue = Queue<_PublishQueueItem>();
Completer<void> _authCallbackCompleter;

@override
Future<void> publish({
spec.Message message,
List<spec.Message> messages,
Message message,
List<Message> messages,
String name,
Object data,
}) async {
Expand All @@ -66,16 +66,10 @@ class RealtimePlatformChannel extends PlatformObject
if (message != null) {
_messages = [message];
} else {
_messages ??= [
spec.Message(
name: name,
data: data
)
];
_messages = [Message(name: name, data: data)];
}
}
final queueItem = _RealtimePublishQueueItem(
Completer<void>(), message, messages);
final queueItem = _PublishQueueItem(Completer<void>(), _messages);
_publishQueue.add(queueItem);
unawaited(_publishInternal());
return queueItem.completer.future;
Expand Down Expand Up @@ -220,11 +214,9 @@ class RealtimePlatformChannels

/// An item for used to enqueue a message to be published after an ongoing
/// authCallback is completed
class _RealtimePublishQueueItem {
spec.Message message;
class _PublishQueueItem {
List<spec.Message> messages;
final Completer<void> completer;

_RealtimePublishQueueItem(
this.completer, this.message, this.messages);
_PublishQueueItem(this.completer, this.messages);
}
13 changes: 4 additions & 9 deletions lib/src/impl/rest/channels.dart
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,14 @@ class RestPlatformChannel extends PlatformObject implements spec.RestChannel {
Object data,
}) async {
var _messages = messages;
if(_messages == null){
if (_messages == null) {
if (message != null) {
_messages = [message];
} else {
_messages ??= [
spec.Message(
name: name,
data: data
)
];
_messages = [Message(name: name, data: data)];
}
}
final queueItem = _PublishQueueItem(Completer<void>(), messages);
final queueItem = _PublishQueueItem(Completer<void>(), _messages);
_publishQueue.add(queueItem);
unawaited(_publishInternal());
return queueItem.completer.future;
Expand Down Expand Up @@ -153,7 +148,7 @@ class RestPlatformChannels extends spec.RestChannels<RestPlatformChannel> {

@override
RestPlatformChannel createChannel(String name, ChannelOptions options) =>
RestPlatformChannel(ably, name, options);
RestPlatformChannel(ably, name, options);
}

/// An item for used to enqueue a message to be published after an ongoing
Expand Down
4 changes: 3 additions & 1 deletion lib/src/spec/common.dart
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,9 @@ class AblyException implements Exception {

@override
String toString() {
if (message == null) return 'AblyException';
if (message == null) {
return 'AblyException (${(code == null) ? "" : '$code '})';
}
return 'AblyException: $message (${(code == null) ? "" : '$code '})';
}
}
Expand Down

0 comments on commit 1518a13

Please sign in to comment.