Versions in this module Expand all Collapse all v1 v1.0.0 Aug 15, 2024 Changes in this version + const AuthenticationSchemeExternal + const AuthenticationSchemeGuest + const AuthenticationSchemeKey + const AuthenticationSchemePlain + const AuthenticationSchemeTransport + const CommandMethodDelete + const CommandMethodGet + const CommandMethodMerge + const CommandMethodObserve + const CommandMethodSet + const CommandMethodSubscribe + const CommandMethodUnsubscribe + const CommandStatusFailure + const CommandStatusSuccess + const DefaultReadLimit + const DomainRoleAuthority + const DomainRoleMember + const DomainRoleRootAuthority + const DomainRoleUnknown + const InProcessNetwork + const MediaTypeApplication + const MediaTypeAudio + const MediaTypeImage + const MediaTypeText + const MediaTypeVideo + const NotificationEventAccepted + const NotificationEventConsumed + const NotificationEventDispatched + const NotificationEventFailed + const NotificationEventReceived + const SessionCompressionGzip + const SessionCompressionNone + const SessionEncryptionNone + const SessionEncryptionTLS + const SessionStateAuthenticating + const SessionStateEstablished + const SessionStateFailed + const SessionStateFinished + const SessionStateFinishing + const SessionStateNegotiating + const SessionStateNew + const URISchemeLime + var ErrServerClosed = errors.New("lime: Server closed") + func ContextSessionID(ctx context.Context) (string, bool) + func GetDocumentFactory(t MediaType) (func() Document, error) + func NewCtxConn(conn net.Conn, readTimeout time.Duration, writeTimeout time.Duration) *ctxConn + func NewEnvelopeID() string + func RegisterDocumentFactory(f func() Document) + type Authentication interface + GetAuthenticationScheme func() AuthenticationScheme + type AuthenticationResult struct + Role DomainRole + RoundTrip Authentication + func AuthorityAuthenticationResult() *AuthenticationResult + func MemberAuthenticationResult() *AuthenticationResult + func RootAuthorityAuthenticationResult() *AuthenticationResult + func UnknownAuthenticationResult() *AuthenticationResult + type AuthenticationScheme string + type Authenticator func(schemes []AuthenticationScheme, roundTrip Authentication) Authentication + var GuestAuthenticator Authenticator = func(schemes []AuthenticationScheme, roundTrip Authentication) Authentication { ... } + var TransportAuthenticator Authenticator = func(schemes []AuthenticationScheme, roundTrip Authentication) Authentication { ... } + type BoundListener struct + Addr net.Addr + Listener TransportListener + func NewBoundListener(listener TransportListener, addr net.Addr) BoundListener + type Client struct + func NewClient(config *ClientConfig, mux *EnvelopeMux) *Client + func (c *Client) Close() error + func (c *Client) Establish(ctx context.Context) error + func (c *Client) ProcessCommand(ctx context.Context, cmd *RequestCommand) (*ResponseCommand, error) + func (c *Client) SendMessage(ctx context.Context, msg *Message) error + func (c *Client) SendNotification(ctx context.Context, not *Notification) error + func (c *Client) SendRequestCommand(ctx context.Context, cmd *RequestCommand) error + type ClientBuilder struct + func NewClientBuilder() *ClientBuilder + func (b *ClientBuilder) AutoReplyPings() *ClientBuilder + func (b *ClientBuilder) Build() *Client + func (b *ClientBuilder) ChannelBufferSize(bufferSize int) *ClientBuilder + func (b *ClientBuilder) Compression(c SessionCompression) *ClientBuilder + func (b *ClientBuilder) Domain(domain string) *ClientBuilder + func (b *ClientBuilder) Encryption(e SessionEncryption) *ClientBuilder + func (b *ClientBuilder) ExternalAuthentication(token, issuer string) *ClientBuilder + func (b *ClientBuilder) GuestAuthentication() *ClientBuilder + func (b *ClientBuilder) Instance(instance string) *ClientBuilder + func (b *ClientBuilder) KeyAuthentication(key string) *ClientBuilder + func (b *ClientBuilder) MessageHandler(handler MessageHandler) *ClientBuilder + func (b *ClientBuilder) MessageHandlerFunc(predicate MessagePredicate, f MessageHandlerFunc) *ClientBuilder + func (b *ClientBuilder) MessagesHandlerFunc(f MessageHandlerFunc) *ClientBuilder + func (b *ClientBuilder) Name(name string) *ClientBuilder + func (b *ClientBuilder) NotificationHandler(handler NotificationHandler) *ClientBuilder + func (b *ClientBuilder) NotificationHandlerFunc(predicate NotificationPredicate, f NotificationHandlerFunc) *ClientBuilder + func (b *ClientBuilder) NotificationsHandlerFunc(f NotificationHandlerFunc) *ClientBuilder + func (b *ClientBuilder) PlainAuthentication(password string) *ClientBuilder + func (b *ClientBuilder) RequestCommandHandler(handler RequestCommandHandler) *ClientBuilder + func (b *ClientBuilder) RequestCommandHandlerFunc(predicate RequestCommandPredicate, f RequestCommandHandlerFunc) *ClientBuilder + func (b *ClientBuilder) RequestCommandsHandlerFunc(f RequestCommandHandlerFunc) *ClientBuilder + func (b *ClientBuilder) ResponseCommandHandler(handler ResponseCommandHandler) *ClientBuilder + func (b *ClientBuilder) ResponseCommandHandlerFunc(predicate ResponseCommandPredicate, f ResponseCommandHandlerFunc) *ClientBuilder + func (b *ClientBuilder) ResponseCommandsHandlerFunc(f ResponseCommandHandlerFunc) *ClientBuilder + func (b *ClientBuilder) TransportAuthentication() *ClientBuilder + func (b *ClientBuilder) UseInProcess(addr InProcessAddr, bufferSize int) *ClientBuilder + func (b *ClientBuilder) UseTCP(addr net.Addr, config *TCPConfig) *ClientBuilder + func (b *ClientBuilder) UseWebsocket(urlStr string, requestHeader http.Header, tls *tls.Config) *ClientBuilder + type ClientChannel struct + func NewClientChannel(t Transport, bufferSize int) *ClientChannel + func (c *ClientChannel) EstablishSession(ctx context.Context, compSelector CompressionSelector, ...) (*Session, error) + func (c *ClientChannel) FinishSession(ctx context.Context) (*Session, error) + func (c ClientChannel) Close() error + func (c ClientChannel) Established() bool + func (c ClientChannel) ID() string + func (c ClientChannel) LocalNode() Node + func (c ClientChannel) MsgChan() <-chan *Message + func (c ClientChannel) NotChan() <-chan *Notification + func (c ClientChannel) ProcessCommand(ctx context.Context, reqCmd *RequestCommand) (*ResponseCommand, error) + func (c ClientChannel) RcvDone() <-chan struct{} + func (c ClientChannel) RemoteNode() Node + func (c ClientChannel) ReqCmdChan() <-chan *RequestCommand + func (c ClientChannel) RespCmdChan() <-chan *ResponseCommand + func (c ClientChannel) SendMessage(ctx context.Context, msg *Message) error + func (c ClientChannel) SendNotification(ctx context.Context, not *Notification) error + func (c ClientChannel) SendRequestCommand(ctx context.Context, cmd *RequestCommand) error + func (c ClientChannel) SendResponseCommand(ctx context.Context, cmd *ResponseCommand) error + func (c ClientChannel) State() SessionState + type ClientConfig struct + Authenticator Authenticator + ChannelBufferSize int + CompSelector CompressionSelector + EncryptSelector EncryptionSelector + NewTransport func(ctx context.Context) (Transport, error) + Node Node + func NewClientConfig() *ClientConfig + type Command struct + Method CommandMethod + Resource Document + Type *MediaType + func (cmd *Command) SetMethod(method CommandMethod) *Command + func (cmd *Command) SetResource(d Document) *Command + type CommandMethod string + func (m *CommandMethod) UnmarshalText(text []byte) error + func (m CommandMethod) MarshalText() ([]byte, error) + func (m CommandMethod) Validate() error + type CommandProcessor interface + ProcessCommand func(ctx context.Context, cmd *RequestCommand) (*ResponseCommand, error) + type CommandStatus string + type CompressionSelector func(options []SessionCompression) SessionCompression + var NoneCompressionSelector CompressionSelector = func(options []SessionCompression) SessionCompression { ... } + type Document interface + MediaType func() MediaType + func UnmarshalDocument(d *json.RawMessage, t MediaType) (Document, error) + type DocumentCollection struct + ItemType MediaType + Items []Document + Total int + func NewDocumentCollection(items []Document, t MediaType) *DocumentCollection + func (d *DocumentCollection) MarshalJSON() ([]byte, error) + func (d *DocumentCollection) MediaType() MediaType + func (d *DocumentCollection) UnmarshalJSON(b []byte) error + type DocumentContainer struct + Type MediaType + Value Document + func NewDocumentContainer(d Document) *DocumentContainer + func (d *DocumentContainer) MarshalJSON() ([]byte, error) + func (d *DocumentContainer) MediaType() MediaType + func (d *DocumentContainer) UnmarshalJSON(b []byte) error + type DomainRole string + type EncryptionSelector func(options []SessionEncryption) SessionEncryption + var NoneEncryptionSelector EncryptionSelector = func(options []SessionEncryption) SessionEncryption { ... } + var TLSEncryptionSelector EncryptionSelector = func(options []SessionEncryption) SessionEncryption { ... } + type Envelope struct + From Node + ID string + Metadata map[string]string + PP Node + To Node + func (env *Envelope) Sender() Node + func (env *Envelope) SetFrom(from Node) *Envelope + func (env *Envelope) SetFromString(s string) *Envelope + func (env *Envelope) SetID(id string) *Envelope + func (env *Envelope) SetMetadataKeyValue(key string, value string) *Envelope + func (env *Envelope) SetNewEnvelopeID() *Envelope + func (env *Envelope) SetPP(pp Node) *Envelope + func (env *Envelope) SetPPString(s string) *Envelope + func (env *Envelope) SetTo(to Node) *Envelope + func (env *Envelope) SetToString(s string) *Envelope + type EnvelopeMux struct + func (m *EnvelopeMux) ListenClient(ctx context.Context, c *ClientChannel) error + func (m *EnvelopeMux) ListenServer(ctx context.Context, c *ServerChannel) error + func (m *EnvelopeMux) MessageHandler(handler MessageHandler) + func (m *EnvelopeMux) MessageHandlerFunc(predicate MessagePredicate, f MessageHandlerFunc) + func (m *EnvelopeMux) NotificationHandler(handler NotificationHandler) + func (m *EnvelopeMux) NotificationHandlerFunc(predicate NotificationPredicate, f NotificationHandlerFunc) + func (m *EnvelopeMux) RequestCommandHandler(handler RequestCommandHandler) + func (m *EnvelopeMux) RequestCommandHandlerFunc(predicate RequestCommandPredicate, f RequestCommandHandlerFunc) + func (m *EnvelopeMux) ResponseCommandHandler(handler ResponseCommandHandler) + func (m *EnvelopeMux) ResponseCommandHandlerFunc(predicate ResponseCommandPredicate, f ResponseCommandHandlerFunc) + type ExternalAuthentication struct + Issuer string + Token string + func (a *ExternalAuthentication) GetAuthenticationScheme() AuthenticationScheme + type ExternalAuthenticator func(ctx context.Context, identity Identity, token string, issuer string) (*AuthenticationResult, error) + type GuestAuthentication struct + func (g *GuestAuthentication) GetAuthenticationScheme() AuthenticationScheme + type Identity struct + Domain string + Name string + func ParseIdentity(s string) Identity + func (i *Identity) IsComplete() bool + func (i *Identity) UnmarshalText(text []byte) error + func (i Identity) MarshalText() ([]byte, error) + func (i Identity) String() string + func (i Identity) ToNode() Node + type InProcessAddr string + func (i InProcessAddr) Network() string + func (i InProcessAddr) String() string + type JsonDocument map[string]interface + func (d *JsonDocument) MediaType() MediaType + type KeyAuthentication struct + Key string + func (a *KeyAuthentication) GetAuthenticationScheme() AuthenticationScheme + func (a *KeyAuthentication) GetKeyFromBase64() (string, error) + func (a *KeyAuthentication) SetKeyAsBase64(key string) + type KeyAuthenticator func(ctx context.Context, identity Identity, key string) (*AuthenticationResult, error) + type MediaType struct + Subtype string + Suffix string + Type string + func MediaTypeApplicationJson() MediaType + func MediaTypePing() MediaType + func MediaTypeTextPlain() MediaType + func ParseMediaType(s string) (MediaType, error) + func (m *MediaType) UnmarshalText(text []byte) error + func (m MediaType) IsJson() bool + func (m MediaType) MarshalText() ([]byte, error) + func (m MediaType) String() string + type Message struct + Content Document + Type MediaType + func (msg *Message) FailedNotification(reason *Reason) *Notification + func (msg *Message) MarshalJSON() ([]byte, error) + func (msg *Message) Notification(event NotificationEvent) *Notification + func (msg *Message) SetContent(d Document) *Message + func (msg *Message) UnmarshalJSON(b []byte) error + type MessageHandler interface + Handle func(ctx context.Context, msg *Message, s Sender) error + Match func(msg *Message) bool + type MessageHandlerFunc func(ctx context.Context, msg *Message, s Sender) error + type MessagePredicate func(msg *Message) bool + type MessageReceiver interface + MsgChan func() <-chan *Message + ReceiveMessage func(ctx context.Context) (*Message, error) + type MessageSender interface + SendMessage func(ctx context.Context, msg *Message) error + type Node struct + Instance string + func ContextSessionLocalNode(ctx context.Context) (Node, bool) + func ContextSessionRemoteNode(ctx context.Context) (Node, bool) + func ParseNode(s string) Node + func (n *Node) IsComplete() bool + func (n *Node) UnmarshalText(text []byte) error + func (n Node) MarshalText() ([]byte, error) + func (n Node) String() string + type Notification struct + Event NotificationEvent + Reason *Reason + func (not *Notification) SetEvent(event NotificationEvent) *Notification + func (not *Notification) SetFailed(reason *Reason) *Notification + func (not *Notification) UnmarshalJSON(b []byte) error + func (not Notification) MarshalJSON() ([]byte, error) + type NotificationEvent string + func (e *NotificationEvent) UnmarshalText(text []byte) error + func (e *NotificationEvent) Validate() error + func (e NotificationEvent) MarshalText() ([]byte, error) + type NotificationHandler interface + Handle func(ctx context.Context, not *Notification) error + Match func(not *Notification) bool + type NotificationHandlerFunc func(ctx context.Context, not *Notification) error + type NotificationPredicate func(not *Notification) bool + type NotificationReceiver interface + NotChan func() <-chan *Notification + ReceiveNotification func(ctx context.Context) (*Notification, error) + type NotificationSender interface + SendNotification func(ctx context.Context, not *Notification) error + type Ping struct + func (p *Ping) MediaType() MediaType + type PlainAuthentication struct + Password string + func (a *PlainAuthentication) GetAuthenticationScheme() AuthenticationScheme + func (a *PlainAuthentication) GetPasswordFromBase64() (string, error) + func (a *PlainAuthentication) SetPasswordAsBase64(password string) + type PlainAuthenticator func(ctx context.Context, identity Identity, password string) (*AuthenticationResult, error) + type Reason struct + Code int + Description string + func (r Reason) String() string + type Receiver interface + type RequestCommand struct + URI *URI + func (cmd *RequestCommand) FailureResponse(reason *Reason) *ResponseCommand + func (cmd *RequestCommand) MarshalJSON() ([]byte, error) + func (cmd *RequestCommand) SetURI(uri *URI) *RequestCommand + func (cmd *RequestCommand) SetURIString(s string) *RequestCommand + func (cmd *RequestCommand) SuccessResponse() *ResponseCommand + func (cmd *RequestCommand) SuccessResponseWithResource(resource Document) *ResponseCommand + func (cmd *RequestCommand) UnmarshalJSON(b []byte) error + type RequestCommandHandler interface + Handle func(ctx context.Context, cmd *RequestCommand, s Sender) error + Match func(cmd *RequestCommand) bool + type RequestCommandHandlerFunc func(ctx context.Context, cmd *RequestCommand, s Sender) error + type RequestCommandPredicate func(cmd *RequestCommand) bool + type RequestCommandReceiver interface + ReceiveRequestCommand func(ctx context.Context) (*RequestCommand, error) + ReqCmdChan func() <-chan *RequestCommand + type RequestCommandSender interface + SendRequestCommand func(ctx context.Context, cmd *RequestCommand) error + type ResponseCommand struct + Reason *Reason + Status CommandStatus + func (cmd *ResponseCommand) MarshalJSON() ([]byte, error) + func (cmd *ResponseCommand) SetStatusFailure(r Reason) + func (cmd *ResponseCommand) UnmarshalJSON(b []byte) error + type ResponseCommandHandler interface + Handle func(ctx context.Context, cmd *ResponseCommand, s Sender) error + Match func(cmd *ResponseCommand) bool + type ResponseCommandHandlerFunc func(ctx context.Context, cmd *ResponseCommand, s Sender) error + type ResponseCommandPredicate func(cmd *ResponseCommand) bool + type ResponseCommandReceiver interface + ReceiveResponseCommand func(ctx context.Context) (*ResponseCommand, error) + RespCmdChan func() <-chan *ResponseCommand + type ResponseCommandSender interface + SendResponseCommand func(ctx context.Context, cmd *ResponseCommand) error + type Sender interface + type Server struct + func NewServer(config *ServerConfig, mux *EnvelopeMux, listeners ...BoundListener) *Server + func (srv *Server) Close() error + func (srv *Server) ListenAndServe() error + type ServerBuilder struct + func NewServerBuilder() *ServerBuilder + func (b *ServerBuilder) AutoReplyPings() *ServerBuilder + func (b *ServerBuilder) Build() *Server + func (b *ServerBuilder) ChannelBufferSize(bufferSize int) *ServerBuilder + func (b *ServerBuilder) CompressionOptions(compOpts ...SessionCompression) *ServerBuilder + func (b *ServerBuilder) Domain(domain string) *ServerBuilder + func (b *ServerBuilder) EnableExternalAuthentication(a ExternalAuthenticator) *ServerBuilder + func (b *ServerBuilder) EnableGuestAuthentication() *ServerBuilder + func (b *ServerBuilder) EnableKeyAuthentication(a KeyAuthenticator) *ServerBuilder + func (b *ServerBuilder) EnablePlainAuthentication(a PlainAuthenticator) *ServerBuilder + func (b *ServerBuilder) EnableTransportAuthentication() *ServerBuilder + func (b *ServerBuilder) EncryptionOptions(encryptOpts ...SessionEncryption) *ServerBuilder + func (b *ServerBuilder) Established(established func(sessionID string, c *ServerChannel)) *ServerBuilder + func (b *ServerBuilder) Finished(finished func(sessionID string)) *ServerBuilder + func (b *ServerBuilder) Instance(instance string) *ServerBuilder + func (b *ServerBuilder) ListenInProcess(addr InProcessAddr) *ServerBuilder + func (b *ServerBuilder) ListenTCP(addr *net.TCPAddr, config *TCPConfig) *ServerBuilder + func (b *ServerBuilder) ListenWebsocket(addr *net.TCPAddr, config *WebsocketConfig) *ServerBuilder + func (b *ServerBuilder) MessageHandler(handler MessageHandler) *ServerBuilder + func (b *ServerBuilder) MessageHandlerFunc(predicate MessagePredicate, f MessageHandlerFunc) *ServerBuilder + func (b *ServerBuilder) MessagesHandlerFunc(f MessageHandlerFunc) *ServerBuilder + func (b *ServerBuilder) Name(name string) *ServerBuilder + func (b *ServerBuilder) NotificationHandler(handler NotificationHandler) *ServerBuilder + func (b *ServerBuilder) NotificationHandlerFunc(predicate NotificationPredicate, f NotificationHandlerFunc) *ServerBuilder + func (b *ServerBuilder) NotificationsHandlerFunc(f NotificationHandlerFunc) *ServerBuilder + func (b *ServerBuilder) Register(...) *ServerBuilder + func (b *ServerBuilder) RequestCommandHandler(handler RequestCommandHandler) *ServerBuilder + func (b *ServerBuilder) RequestCommandHandlerFunc(predicate RequestCommandPredicate, f RequestCommandHandlerFunc) *ServerBuilder + func (b *ServerBuilder) RequestCommandsHandlerFunc(f RequestCommandHandlerFunc) *ServerBuilder + func (b *ServerBuilder) ResponseCommandHandler(handler ResponseCommandHandler) *ServerBuilder + func (b *ServerBuilder) ResponseCommandHandlerFunc(predicate ResponseCommandPredicate, f ResponseCommandHandlerFunc) *ServerBuilder + func (b *ServerBuilder) ResponseCommandsHandlerFunc(f ResponseCommandHandlerFunc) *ServerBuilder + type ServerChannel struct + func NewServerChannel(t Transport, bufferSize int, serverNode Node, sessionID string) *ServerChannel + func (c *ServerChannel) EstablishSession(ctx context.Context, compOpts []SessionCompression, ...) error + func (c *ServerChannel) FailSession(ctx context.Context, reason *Reason) error + func (c *ServerChannel) FinishSession(ctx context.Context) error + func (c ServerChannel) Close() error + func (c ServerChannel) Established() bool + func (c ServerChannel) ID() string + func (c ServerChannel) LocalNode() Node + func (c ServerChannel) MsgChan() <-chan *Message + func (c ServerChannel) NotChan() <-chan *Notification + func (c ServerChannel) ProcessCommand(ctx context.Context, reqCmd *RequestCommand) (*ResponseCommand, error) + func (c ServerChannel) RcvDone() <-chan struct{} + func (c ServerChannel) RemoteNode() Node + func (c ServerChannel) ReqCmdChan() <-chan *RequestCommand + func (c ServerChannel) RespCmdChan() <-chan *ResponseCommand + func (c ServerChannel) SendMessage(ctx context.Context, msg *Message) error + func (c ServerChannel) SendNotification(ctx context.Context, not *Notification) error + func (c ServerChannel) SendRequestCommand(ctx context.Context, cmd *RequestCommand) error + func (c ServerChannel) SendResponseCommand(ctx context.Context, cmd *ResponseCommand) error + func (c ServerChannel) State() SessionState + type ServerConfig struct + Authenticate func(ctx context.Context, identity Identity, a Authentication) (*AuthenticationResult, error) + Backlog int + ChannelBufferSize int + CompOpts []SessionCompression + EncryptOpts []SessionEncryption + Established func(sessionID string, c *ServerChannel) + Finished func(sessionID string) + Node Node + Register func(ctx context.Context, candidate Node, c *ServerChannel) (Node, error) + SchemeOpts []AuthenticationScheme + func NewServerConfig() *ServerConfig + type Session struct + Authentication Authentication + Compression SessionCompression + CompressionOptions []SessionCompression + Encryption SessionEncryption + EncryptionOptions []SessionEncryption + Reason *Reason + Scheme AuthenticationScheme + SchemeOptions []AuthenticationScheme + State SessionState + func (s *Session) MarshalJSON() ([]byte, error) + func (s *Session) SetAuthentication(a Authentication) + func (s *Session) UnmarshalJSON(b []byte) error + type SessionCompression string + type SessionEncryption string + type SessionState string + func (s *SessionState) UnmarshalText(text []byte) error + func (s SessionState) MarshalText() ([]byte, error) + func (s SessionState) Step() int + func (s SessionState) Validate() error + type StdoutTraceWriter struct + func (t StdoutTraceWriter) ReceiveWriter() *io.Writer + func (t StdoutTraceWriter) SendWriter() *io.Writer + type TCPConfig struct + ConnBuffer int + ReadLimit int64 + TLSConfig *tls.Config + TraceWriter TraceWriter + type TextDocument string + func (d TextDocument) MediaType() MediaType + type TraceWriter interface + ReceiveWriter func() *io.Writer + SendWriter func() *io.Writer + func NewStdoutTraceWriter() TraceWriter + type Transport interface + Compression func() SessionCompression + Connected func() bool + Encryption func() SessionEncryption + LocalAddr func() net.Addr + Receive func(ctx context.Context) (envelope, error) + RemoteAddr func() net.Addr + Send func(ctx context.Context, e envelope) error + SetCompression func(ctx context.Context, c SessionCompression) error + SetEncryption func(ctx context.Context, e SessionEncryption) error + SupportedCompression func() []SessionCompression + SupportedEncryption func() []SessionEncryption + func DialInProcess(addr InProcessAddr, bufferSize int) (Transport, error) + func DialTcp(ctx context.Context, addr net.Addr, config *TCPConfig) (Transport, error) + func DialWebsocket(ctx context.Context, urlStr string, requestHeader http.Header, tls *tls.Config) (Transport, error) + type TransportAuthentication struct + func (a *TransportAuthentication) GetAuthenticationScheme() AuthenticationScheme + type TransportListener interface + Accept func(ctx context.Context) (Transport, error) + Listen func(ctx context.Context, addr net.Addr) error + func NewInProcessTransportListener(addr InProcessAddr) TransportListener + func NewTCPTransportListener(config *TCPConfig) TransportListener + func NewWebsocketTransportListener(config *WebsocketConfig) TransportListener + type URI struct + func ParseLimeURI(s string) (*URI, error) + func (u *URI) MarshalText() ([]byte, error) + func (u *URI) Owner() *Identity + func (u *URI) Path() string + func (u *URI) String() string + func (u *URI) URL() *url.URL + func (u *URI) UnmarshalText(text []byte) error + type WebsocketConfig struct + AssignCookie func(r *http.Request, c *http.Cookie) + CheckOrigin func(r *http.Request) bool + ConnBuffer int + CookieExpiry int + CookieName string + EnableCompression bool + TLSConfig *tls.Config + TraceWriter TraceWriter