diff --git a/imports-request-reply.md b/imports-request-reply.md index d36307e..84063a7 100644 --- a/imports-request-reply.md +++ b/imports-request-reply.md @@ -73,14 +73,14 @@ This allows the component to perform request/reply messaging patterns.

  • own<message>
  • [method]message.topic: func

    -

    The topic/subject/channel this message was received on

    +

    The topic/subject/channel this message was received on, if any

    Params
    Return values

    [method]message.content-type: func

    An optional content-type describing the format of the data in the message. This is @@ -168,6 +168,9 @@ included it as a core interface.

    #### `type error` [`error`](#error)

    +#### `type topic` +[`topic`](#topic) +

    #### `resource request-options`

    Options for a request/reply operation. This is a resource to allow for future expansion of options.

    @@ -208,6 +211,7 @@ return the list of messages received up to that point.

    Params
    diff --git a/imports.md b/imports.md index 2900330..3f09021 100644 --- a/imports.md +++ b/imports.md @@ -72,14 +72,14 @@ It includes the producer interface for sending messages.

  • own<message>
  • [method]message.topic: func

    -

    The topic/subject/channel this message was received on

    +

    The topic/subject/channel this message was received on, if any

    Params
    Return values

    [method]message.content-type: func

    An optional content-type describing the format of the data in the message. This is diff --git a/messaging-core.md b/messaging-core.md index 1302613..dd6d715 100644 --- a/messaging-core.md +++ b/messaging-core.md @@ -77,14 +77,14 @@ enabling the component to handle incoming messages without request/reply capabil

  • own<message>
  • [method]message.topic: func

    -

    The topic/subject/channel this message was received on

    +

    The topic/subject/channel this message was received on, if any

    Params
    Return values

    [method]message.content-type: func

    An optional content-type describing the format of the data in the message. This is diff --git a/messaging-request-reply.md b/messaging-request-reply.md index 37d61c0..e9b9abd 100644 --- a/messaging-request-reply.md +++ b/messaging-request-reply.md @@ -79,14 +79,14 @@ handling incoming messages with request/reply capabilities.

  • own<message>
  • [method]message.topic: func

    -

    The topic/subject/channel this message was received on

    +

    The topic/subject/channel this message was received on, if any

    Params
    Return values

    [method]message.content-type: func

    An optional content-type describing the format of the data in the message. This is @@ -174,6 +174,9 @@ included it as a core interface.

    #### `type error` [`error`](#error)

    +#### `type topic` +[`topic`](#topic) +

    #### `resource request-options`

    Options for a request/reply operation. This is a resource to allow for future expansion of options.

    @@ -214,6 +217,7 @@ return the list of messages received up to that point.

    Params
    diff --git a/wit/request-reply.wit b/wit/request-reply.wit index da8a543..7467d76 100644 --- a/wit/request-reply.wit +++ b/wit/request-reply.wit @@ -3,7 +3,7 @@ /// request/reply. However, request/reply is a very common pattern in messaging and as such, we have /// included it as a core interface. interface request-reply { - use types.{client, message, error}; + use types.{client, message, error, topic}; /// Options for a request/reply operation. This is a resource to allow for future expansion of /// options. @@ -31,7 +31,7 @@ interface request-reply { /// error, (2) if the maximum expected number of replies were received before timeout, return /// the list of messages, or (3) if the timeout is reached before the expected number of replies, /// return the list of messages received up to that point. - request: func(c: borrow, message: borrow, options: option) -> result, error>; + request: func(c: borrow, topic: topic, message: borrow, options: option) -> result, error>; /// Replies to the given message with the given response message. The details of which topic /// the message is sent to is up to the implementation. This allows for reply-to details to be diff --git a/wit/types.wit b/wit/types.wit index d7e8292..62f02f7 100644 --- a/wit/types.wit +++ b/wit/types.wit @@ -26,8 +26,8 @@ interface types { /// A message with a binary payload and additional information resource message { constructor(data: list); - /// The topic/subject/channel this message was received on - topic: func() -> topic; + /// The topic/subject/channel this message was received on, if any + topic: func() -> option; /// An optional content-type describing the format of the data in the message. This is /// sometimes described as the "format" type content-type: func() -> option;