{
  "name": "github.com/l1fe-labs/forge-go/comm",
  "language": "go",
  "version": "module source snapshot",
  "description": "Go comm package.",
  "manifest": "forge-go/go.mod",
  "manifestSha256": "dee97864d07a64c4c93c79104137d155f0cbae6962945f3b56ceb7744a03cc82",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/go/comm",
  "features": {},
  "files": [
    {
      "path": "forge-go/comm/channel.go",
      "sha256": "135179faddbd9009d78def1a8f8aec35b3b59c823ca39946637d4cba47ac36d5",
      "artifactSha256": "d59acec4b34f68f57975eeabf6b8e884d3d87283b654cc7f02a1d6aa9f237c17",
      "url": "/reference/source/forge-go/comm/channel.go.txt",
      "declarations": [
        {
          "name": "type ChannelTransport struct",
          "line": 9,
          "signature": "type ChannelTransport struct",
          "documentation": ""
        },
        {
          "name": "func NewChannelPair(capacity int) (*ChannelTransport, *ChannelTransport)",
          "line": 23,
          "signature": "func NewChannelPair(capacity int) (*ChannelTransport, *ChannelTransport)",
          "documentation": ""
        },
        {
          "name": "func (t *ChannelTransport) Send(msg AgentMessage) error",
          "line": 36,
          "signature": "func (t *ChannelTransport) Send(msg AgentMessage) error",
          "documentation": ""
        },
        {
          "name": "func (t *ChannelTransport) Receive() (AgentMessage, error)",
          "line": 56,
          "signature": "func (t *ChannelTransport) Receive() (AgentMessage, error)",
          "documentation": ""
        },
        {
          "name": "func (t *ChannelTransport) CloseChannel()",
          "line": 67,
          "signature": "func (t *ChannelTransport) CloseChannel()",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/comm/errors.go",
      "sha256": "d138671f7c367005657b693537bc60f85e05b28a7ef55ebf2d1296502fc9333a",
      "artifactSha256": "9fe173139a998bc8f3859270f0e75e37531544de1655c1f1a1b813534d4b0f36",
      "url": "/reference/source/forge-go/comm/errors.go.txt",
      "declarations": [
        {
          "name": "type CommError struct",
          "line": 15,
          "signature": "type CommError struct",
          "documentation": ""
        },
        {
          "name": "type CommErrorKind string",
          "line": 27,
          "signature": "type CommErrorKind string\n\nconst (\n// ErrKindSerializationFailed indicates message serialization failed.\nErrKindSerializationFailed CommErrorKind;",
          "documentation": ""
        },
        {
          "name": "func (e *CommError) Error() string",
          "line": 59,
          "signature": "func (e *CommError) Error() string",
          "documentation": ""
        },
        {
          "name": "func (e *CommError) Unwrap() error",
          "line": 67,
          "signature": "func (e *CommError) Unwrap() error",
          "documentation": ""
        },
        {
          "name": "func NewSerializationError(message string, cause error) *CommError",
          "line": 72,
          "signature": "func NewSerializationError(message string, cause error) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewDeserializationError(message string, cause error) *CommError",
          "line": 81,
          "signature": "func NewDeserializationError(message string, cause error) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewTransportError(message string, cause error) *CommError",
          "line": 90,
          "signature": "func NewTransportError(message string, cause error) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewNotConnectedError(message string) *CommError",
          "line": 99,
          "signature": "func NewNotConnectedError(message string) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewChannelClosedError(message string) *CommError",
          "line": 107,
          "signature": "func NewChannelClosedError(message string) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewProtocolNegotiationError(message string) *CommError",
          "line": 115,
          "signature": "func NewProtocolNegotiationError(message string) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewMessageTooLargeError(size, maxSize int) *CommError",
          "line": 123,
          "signature": "func NewMessageTooLargeError(size, maxSize int) *CommError",
          "documentation": ""
        },
        {
          "name": "func NewTimeoutError(operation string) *CommError",
          "line": 131,
          "signature": "func NewTimeoutError(operation string) *CommError",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/comm/message.go",
      "sha256": "d7fe319db584527031dae32ee7a4ab667e071f1f91c7392a8dbb280c386bb370",
      "artifactSha256": "292a0da7bc54d97e16e45a8d1930809f0704ccbf01d548680299e93492ae5a77",
      "url": "/reference/source/forge-go/comm/message.go.txt",
      "declarations": [
        {
          "name": "type AgentMessage struct",
          "line": 15,
          "signature": "type AgentMessage struct",
          "documentation": ""
        },
        {
          "name": "func NewAgentMessage(sender, recipient, protocol, messageType string, payload []byte) AgentMessage",
          "line": 58,
          "signature": "func NewAgentMessage(sender, recipient, protocol, messageType string, payload []byte) AgentMessage",
          "documentation": ""
        },
        {
          "name": "func (m AgentMessage) WithCorrelationID(id string) AgentMessage",
          "line": 71,
          "signature": "func (m AgentMessage) WithCorrelationID(id string) AgentMessage",
          "documentation": ""
        },
        {
          "name": "func (m AgentMessage) WithReplyTo(id string) AgentMessage",
          "line": 77,
          "signature": "func (m AgentMessage) WithReplyTo(id string) AgentMessage",
          "documentation": ""
        },
        {
          "name": "func (m AgentMessage) IsSigned() bool",
          "line": 83,
          "signature": "func (m AgentMessage) IsSigned() bool",
          "documentation": ""
        },
        {
          "name": "func (m AgentMessage) Kind() string",
          "line": 89,
          "signature": "func (m AgentMessage) Kind() string",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/comm/noop.go",
      "sha256": "6d4a41ff575b3058bb5e2292b1e72b2046027a2ac5ad3db73b0c4a40400f7251",
      "artifactSha256": "b3b2685bc0262e7d5637aa1e88c24efa8947b1bb8de0ec963009bab915d96662",
      "url": "/reference/source/forge-go/comm/noop.go.txt",
      "declarations": [
        {
          "name": "type NoopTransport struct",
          "line": 10,
          "signature": "type NoopTransport struct",
          "documentation": ""
        },
        {
          "name": "func (NoopTransport) Send(_ AgentMessage) error",
          "line": 13,
          "signature": "func (NoopTransport) Send(_ AgentMessage) error",
          "documentation": ""
        },
        {
          "name": "func (NoopTransport) Receive() (AgentMessage, error)",
          "line": 19,
          "signature": "func (NoopTransport) Receive() (AgentMessage, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/comm/protocol.go",
      "sha256": "b15cc906eb6773ad1b20bfb75d33538694ff12552d4274e821b1666093702296",
      "artifactSha256": "4f9a72ac7fbadbde0dcbfbf355d5b988bdfb0564bf53c28da7f2e6db1247e353",
      "url": "/reference/source/forge-go/comm/protocol.go.txt",
      "declarations": [
        {
          "name": "type ProtocolOffer struct",
          "line": 8,
          "signature": "type ProtocolOffer struct",
          "documentation": ""
        },
        {
          "name": "type ProtocolAccept struct",
          "line": 22,
          "signature": "type ProtocolAccept struct",
          "documentation": ""
        },
        {
          "name": "func NegotiateProtocol(initiator, responder ProtocolOffer) (*ProtocolAccept, error)",
          "line": 42,
          "signature": "func NegotiateProtocol(initiator, responder ProtocolOffer) (*ProtocolAccept, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/comm/transport.go",
      "sha256": "3e3b9a042dbbdfca3459c56238138f09bd55077055e1bca71ae5f444df00ed0a",
      "artifactSha256": "536bae34feda4c23e65c9c7ea38b0ece559f67887ade6c8d4dc091984b7d90e0",
      "url": "/reference/source/forge-go/comm/transport.go.txt",
      "declarations": [
        {
          "name": "type MessageTransport interface",
          "line": 10,
          "signature": "type MessageTransport interface",
          "documentation": ""
        }
      ]
    }
  ]
}
