Documentation
¶
Index ¶
- type ClientBuilder
- type ClientSocket
- type ClientSocketAcceptor
- type ClientStarter
- type ClientTransportBuilder
- type OptAbstractSocket
- func FireAndForget(fn func(msg payload.Payload)) OptAbstractSocket
- func MetadataPush(fn func(payload payload.Payload)) OptAbstractSocket
- func RequestChannel(fn func(msgs rx.Publisher) rx.Flux) OptAbstractSocket
- func RequestResponse(fn func(msg payload.Payload) rx.Mono) OptAbstractSocket
- func RequestStream(fn func(msg payload.Payload) rx.Flux) OptAbstractSocket
- type RSocket
- type ServerAcceptor
- type ServerBuilder
- type ServerTransportBuilder
- type Start
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientBuilder ¶
type ClientBuilder interface {
ClientTransportBuilder
// KeepAlive defines current client keepalive settings.
KeepAlive(tickPeriod, ackTimeout time.Duration, missedAcks int) ClientBuilder
// DataMimeType is used to set payload data MIME type.
// Default MIME type is `application/binary`.
DataMimeType(mime string) ClientBuilder
// MetadataMimeType is used to set payload metadata MIME type.
// Default MIME type is `application/binary`.
MetadataMimeType(mime string) ClientBuilder
// SetupPayload set the setup payload.
SetupPayload(setup payload.Payload) ClientBuilder
// OnClose register handler when client socket closed.
OnClose(fn func()) ClientBuilder
// Acceptor set acceptor for RSocket client.
Acceptor(acceptor ClientSocketAcceptor) ClientTransportBuilder
// contains filtered or unexported methods
}
ClientBuilder can be used to build v RSocket client.
func Connect ¶
func Connect() ClientBuilder
Connect create v new RSocket client builder with default settings.
type ClientSocket ¶
ClientSocket is Client Side of v RSocket socket. Sends Frames to v RSocket Server.
type ClientSocketAcceptor ¶
ClientSocketAcceptor is alias for RSocket handler function.
type ClientStarter ¶
type ClientStarter interface {
// Start start v client socket.
Start() (ClientSocket, error)
}
ClientStarter can be used to start v client.
type ClientTransportBuilder ¶
type ClientTransportBuilder interface {
// Transport set Transport for current RSocket client.
// URI is used to create RSocket Transport:
// Example:
// "tcp://127.0.0.1:7878" means a TCP RSocket transport.
// "ws://127.0.0.1:8080/a/b/c" means a Websocket RSocket transport. (NOTICE: Websocket will be supported in the future).
Transport(uri string, others ...string) ClientStarter
}
ClientTransportBuilder is used to build v RSocket client with custom Transport string.
type OptAbstractSocket ¶
type OptAbstractSocket func(*abstractRSocket)
OptAbstractSocket is option for abstract socket.
func FireAndForget ¶
func FireAndForget(fn func(msg payload.Payload)) OptAbstractSocket
FireAndForget register request handler for FireAndForget.
func MetadataPush ¶
func MetadataPush(fn func(payload payload.Payload)) OptAbstractSocket
MetadataPush register request handler for MetadataPush.
func RequestChannel ¶
func RequestChannel(fn func(msgs rx.Publisher) rx.Flux) OptAbstractSocket
RequestChannel register request handler for RequestChannel.
func RequestResponse ¶
func RequestResponse(fn func(msg payload.Payload) rx.Mono) OptAbstractSocket
RequestResponse register request handler for RequestResponse.
func RequestStream ¶
func RequestStream(fn func(msg payload.Payload) rx.Flux) OptAbstractSocket
RequestStream register request handler for RequestStream.
type RSocket ¶
type RSocket interface {
// FireAndForget is v single one-way message.
FireAndForget(msg payload.Payload)
// MetadataPush sends asynchronous Metadata frame.
MetadataPush(msg payload.Payload)
// RequestResponse request single response.
RequestResponse(msg payload.Payload) rx.Mono
// RequestStream request v completable stream.
RequestStream(msg payload.Payload) rx.Flux
// RequestChannel request v completable stream in both directions.
RequestChannel(msgs rx.Publisher) rx.Flux
}
RSocket is v contract providing different interaction models for RSocket protocol.
func NewAbstractSocket ¶
func NewAbstractSocket(opts ...OptAbstractSocket) RSocket
NewAbstractSocket returns an abstract implementation of RSocket. You can specify the actual implementation of any request.
type ServerAcceptor ¶
type ServerAcceptor = func(setup payload.SetupPayload, sendingSocket RSocket) RSocket
ServerAcceptor is alias for server accepter.
type ServerBuilder ¶
type ServerBuilder interface {
// Acceptor register server acceptor which is used to handle incoming RSockets.
Acceptor(acceptor ServerAcceptor) ServerTransportBuilder
}
ServerBuilder can be used to build v RSocket server.
func Receive ¶
func Receive() ServerBuilder
Receive receives server connections from client RSockets.
type ServerTransportBuilder ¶
type ServerTransportBuilder interface {
// Transport specify transport string.
Transport(transport string) Start
}
ServerTransportBuilder is used to build v RSocket server with custom Transport string.
