Skip to content

Commit 5229d8d

Browse files
committed
Moved sender to .headers
1 parent 69b9fd6 commit 5229d8d

File tree

1 file changed

+10
-8
lines changed
  • transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api

1 file changed

+10
-8
lines changed

transport-parent/transport-api/src/main/java/io/scalecube/cluster/transport/api/Message.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.HashMap;
66
import java.util.Map;
77
import java.util.Objects;
8+
import java.util.Optional;
89
import java.util.StringJoiner;
910

1011
/**
@@ -24,17 +25,21 @@ public final class Message {
2425
*/
2526
public static final String HEADER_CORRELATION_ID = "cid";
2627

28+
/**
29+
* This header represents sender address of type {@link Address}. It's an address of message
30+
* originator. This header is optional.
31+
*/
32+
public static final String HEADER_SENDER = "sender";
33+
2734
private Map<String, String> headers = Collections.emptyMap();
2835
private Object data;
29-
private Address sender;
3036

3137
/** Instantiates empty message for deserialization purpose. */
3238
Message() {}
3339

3440
private Message(Builder builder) {
3541
this.data = builder.data;
3642
this.headers = Collections.unmodifiableMap(Objects.requireNonNull(builder.headers));
37-
this.sender = builder.sender;
3843
}
3944

4045
/**
@@ -114,7 +119,7 @@ public static Message from(Message message) {
114119
* @return a builder with initial data and headers from the message
115120
*/
116121
public static Builder with(Message message) {
117-
return withData(message.data).headers(message.headers).sender(message.sender);
122+
return withData(message.data).headers(message.headers);
118123
}
119124

120125
/**
@@ -180,13 +185,12 @@ public <T> T data() {
180185
* @return address
181186
*/
182187
public Address sender() {
183-
return sender;
188+
return Optional.ofNullable(header(HEADER_SENDER)).map(Address::from).orElse(null);
184189
}
185190

186191
@Override
187192
public String toString() {
188193
return new StringJoiner(", ", Message.class.getSimpleName() + "[", "]")
189-
.add("sender=" + sender)
190194
.add("headers=" + headers)
191195
.add("data=" + data)
192196
.toString();
@@ -196,7 +200,6 @@ public static class Builder {
196200

197201
private Map<String, String> headers = new HashMap<>();
198202
private Object data;
199-
private Address sender;
200203

201204
private Builder() {}
202205

@@ -236,8 +239,7 @@ public Builder correlationId(String correlationId) {
236239
}
237240

238241
public Builder sender(Address sender) {
239-
this.sender = sender;
240-
return this;
242+
return header(HEADER_SENDER, sender.toString());
241243
}
242244

243245
public Message build() {

0 commit comments

Comments
 (0)