hprose

package module
v3.0.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2024 License: MIT Imports: 14 Imported by: 0

README

Hprose

Hprose 3.0 for Golang

test GoDoc Go Report Card codebeat badge Coverage Status License

Introduction

Hprose is a High Performance Remote Object Service Engine.

It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

Hprose supports many programming languages, for example:

  • AAuto Quicker
  • ActionScript
  • ASP
  • C++
  • Dart
  • Delphi/Free Pascal
  • dotNET(C#, Visual Basic...)
  • Golang
  • Java
  • JavaScript
  • Node.js
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby
  • ...

Through Hprose, You can conveniently and efficiently intercommunicate between those programming languages.

This project is the implementation of Hprose 3.0 for Golang.

Documentation

Index

Constants

View Source
const (
	// Serialize Type.
	TagInteger  = io.TagInteger
	TagLong     = io.TagLong
	TagDouble   = io.TagDouble
	TagNull     = io.TagNull
	TagEmpty    = io.TagEmpty
	TagTrue     = io.TagTrue
	TagFalse    = io.TagFalse
	TagNaN      = io.TagNaN
	TagInfinity = io.TagInfinity
	TagDate     = io.TagDate
	TagTime     = io.TagTime
	TagUTC      = io.TagUTC
	TagBytes    = io.TagBytes
	TagUTF8Char = io.TagUTF8Char
	TagString   = io.TagString
	TagGUID     = io.TagGUID
	TagList     = io.TagList
	TagMap      = io.TagMap
	TagClass    = io.TagClass
	TagObject   = io.TagObject
	TagRef      = io.TagRef

	// Serialize Marks.
	TagPos        = io.TagPos
	TagNeg        = io.TagNeg
	TagSemicolon  = io.TagSemicolon
	TagOpenbrace  = io.TagOpenbrace
	TagClosebrace = io.TagClosebrace
	TagQuote      = io.TagQuote
	TagPoint      = io.TagPoint

	// Protocol Tags.
	TagHeader = io.TagHeader
	TagCall   = io.TagCall
	TagResult = io.TagResult
	TagError  = io.TagError
	TagEnd    = io.TagEnd

	LongTypeInt      = io.LongTypeInt
	LongTypeUint     = io.LongTypeUint
	LongTypeInt64    = io.LongTypeInt64
	LongTypeUint64   = io.LongTypeUint64
	LongTypeBigInt   = io.LongTypeBigInt
	RealTypeFloat64  = io.RealTypeFloat64
	RealTypeFloat32  = io.RealTypeFloat32
	RealTypeBigFloat = io.RealTypeBigFloat
	MapTypeIIMap     = io.MapTypeIIMap
	MapTypeSIMap     = io.MapTypeSIMap
	StructTypePtr    = io.StructTypePtr
	StructTypeValue  = io.StructTypeValue
	ListTypeISlice   = io.ListTypeISlice
	ListTypeSlice    = io.ListTypeSlice

	NoCookieManager     = cookie.NoCookieManager
	GlobalCookieManager = cookie.GlobalCookieManager
	ClientCookieManager = cookie.ClientCookieManager
)

Variables

View Source
var (
	ErrInvalidUTF8       = io.ErrInvalidUTF8
	Marshal              = io.Marshal
	Unmarshal            = io.Unmarshal
	Register             = io.Register
	RegisterName         = io.RegisterName
	RegisterValueDecoder = io.RegisterValueDecoder
	RegisterValueEncoder = io.RegisterValueEncoder
	RegisterConverter    = io.RegisterConverter
	GetConverter         = io.GetConverter
	Convert              = io.Convert
	GetStructType        = io.GetStructType
	NewDecoder           = io.NewDecoder
	NewDecoderFromReader = io.NewDecoderFromReader
	NewEncoder           = io.NewEncoder
	GetValueDecoder      = io.GetValueDecoder
	GetValueEncoder      = io.GetValueEncoder
	GetEncoder           = io.GetEncoder
	FreeEncoder          = io.FreeEncoder
	GetDecoder           = io.GetDecoder
	FreeDecoder          = io.FreeDecoder

	ErrClosed                = rpc.ErrClosed
	ErrRequestEntityTooLarge = rpc.ErrRequestEntityTooLarge
	ErrTimeout               = rpc.ErrTimeout
	IsTemporaryError         = rpc.IsTemporaryError
	IsTimeoutError           = rpc.IsTimeoutError
	RegisterHandler          = rpc.RegisterHandler
	RegisterTransport        = rpc.RegisterTransport
	WithContext              = rpc.WithContext
	GetClientContext         = rpc.GetClientContext
	NewClientContext         = rpc.NewClientContext
	GetServiceContext        = rpc.GetServiceContext
	NewServiceContext        = rpc.NewServiceContext
	FromContext              = rpc.FromContext
	NewContext               = rpc.NewContext
	NewPanicError            = rpc.NewPanicError
	MissingMethod            = rpc.MissingMethod
	NewMethod                = rpc.NewMethod
	NewClientCodec           = rpc.NewClientCodec
	NewServiceCodec          = rpc.NewServiceCodec
	WithDebug                = rpc.WithDebug
	WithSimple               = rpc.WithSimple
	WithLongType             = rpc.WithLongType
	WithRealType             = rpc.WithRealType
	WithMapType              = rpc.WithMapType
	WithStructType           = rpc.WithStructType
	WithListType             = rpc.WithListType
	NewClient                = rpc.NewClient
	NewService               = rpc.NewService
	HTTPTransport            = rpc.HTTPTransport
	FastHTTPTransport        = rpc.FastHTTPTransport
	SocketTransport          = rpc.SocketTransport
	UDPTransport             = rpc.UDPTransport
	WebSocketTransport       = rpc.WebSocketTransport
	HTTPHandler              = rpc.HTTPHandler
	SocketHandler            = rpc.SocketHandler
	UDPHandler               = rpc.UDPHandler
	WebSocketHandler         = rpc.WebSocketHandler

	NewJSONRPCClientCodec  = jsonrpc.NewClientCodec
	NewJSONRPCServiceCodec = jsonrpc.NewServiceCodec

	WithThreshold     = circuitbreaker.WithThreshold
	WithRecoverTime   = circuitbreaker.WithRecoverTime
	WithMockService   = circuitbreaker.WithMockService
	NewCircuitBreaker = circuitbreaker.New

	WithRetry       = cluster.WithRetry
	WithIdempotent  = cluster.WithIdempotent
	WithMinInterval = cluster.WithMinInterval
	WithMaxInterval = cluster.WithMaxInterval
	FailoverConfig  = cluster.FailoverConfig
	FailtryConfig   = cluster.FailtryConfig
	FailfastConfig  = cluster.FailfastConfig
	NewCluster      = cluster.New
	ForkingPlugin   = cluster.Forking
	BroadcastPlugin = cluster.Broadcast

	NewForward = forward.New

	WithMaxPermits       = limiter.WithMaxPermits
	WithTimeout          = limiter.WithTimeout
	NewRateLimiter       = limiter.NewRateLimiter
	NewConcurrentLimiter = limiter.NewConcurrentLimiter

	NewLeastActiveLoadBalance         = loadbalance.NewLeastActiveLoadBalance
	NewRandomLoadBalance              = loadbalance.NewRandomLoadBalance
	NewRoundRobinLoadBalance          = loadbalance.NewRoundRobinLoadBalance
	NewNginxRoundRobinLoadBalance     = loadbalance.NewNginxRoundRobinLoadBalance
	NewWeightedLeastActiveLoadBalance = loadbalance.NewWeightedLeastActiveLoadBalance
	NewWeightedRandomLoadBalance      = loadbalance.NewWeightedRandomLoadBalance
	NewWeightedRoundRobinLoadBalance  = loadbalance.NewWeightedRoundRobinLoadBalance

	NewLog    = log.New
	LogPlugin = log.Plugin

	NewBroker   = push.NewBroker
	GetProducer = push.GetProducer
	NewProsumer = push.NewProsumer

	NewCaller          = reverse.NewCaller
	UseService         = reverse.UseService
	GetProviderContext = reverse.GetProviderContext
	NewProvider        = reverse.NewProvider

	NewExecuteTimeout = timeout.New
)

Functions

This section is empty.

Types

type Broker

type Broker = push.Broker

type Caller

type Caller = reverse.Caller

type CastError

type CastError = io.CastError

type CircuitBreaker

type CircuitBreaker = circuitbreaker.CircuitBreaker

type Client

type Client = rpc.Client

type ClientCodec

type ClientCodec = rpc.ClientCodec

type ClientContext

type ClientContext = rpc.ClientContext

type Cluster

type Cluster = cluster.Cluster

type CodecOption

type CodecOption = rpc.CodecOption

type ConcurrentLimiter

type ConcurrentLimiter = limiter.ConcurrentLimiter

type Context

type Context = rpc.Context

type CookieManagerOption added in v3.0.6

type CookieManagerOption = cookie.CookieManagerOption

type DecodeError

type DecodeError = io.DecodeError

type Decoder

type Decoder = io.Decoder

type Encoder

type Encoder = io.Encoder

type ExecuteTimeout

type ExecuteTimeout = timeout.ExecuteTimeout

type Formatter

type Formatter = io.Formatter

type Forward

type Forward = forward.Forward

type InvalidRequestError

type InvalidRequestError = rpc.InvalidRequestError

type InvalidResponseError

type InvalidResponseError = rpc.InvalidResponseError

type JSONRPCClientCodec

type JSONRPCClientCodec = jsonrpc.ClientCodec

type JSONRPCServiceCodec

type JSONRPCServiceCodec = jsonrpc.ServiceCodec

type LeastActiveLoadBalance

type LeastActiveLoadBalance = loadbalance.LeastActiveLoadBalance

type Log

type Log = log.Log

type LongType

type LongType = io.LongType

type MapType

type MapType = io.MapType

type Message

type Message = push.Message

type Method

type Method = rpc.Method

type NextIOHandler

type NextIOHandler = rpc.NextIOHandler

type NextInvokeHandler

type NextInvokeHandler = rpc.NextInvokeHandler

type NginxRoundRobinLoadBalance

type NginxRoundRobinLoadBalance = loadbalance.NginxRoundRobinLoadBalance

type Oneway

type Oneway = oneway.Oneway

type PanicError

type PanicError = rpc.PanicError

type Producer

type Producer = push.Producer

type Prosumer

type Prosumer = push.Prosumer

type Provider

type Provider = reverse.Provider

type ProviderContext

type ProviderContext = reverse.ProviderContext

type RandomLoadBalance

type RandomLoadBalance = loadbalance.RandomLoadBalance

type RateLimiter

type RateLimiter = limiter.RateLimiter

type RealType

type RealType = io.RealType

type RoundRobinLoadBalance

type RoundRobinLoadBalance = loadbalance.RoundRobinLoadBalance

type Service

type Service = rpc.Service

type ServiceCodec

type ServiceCodec = rpc.ServiceCodec

type ServiceContext

type ServiceContext = rpc.ServiceContext

type UnsupportedProtocolError

type UnsupportedProtocolError = rpc.UnsupportedProtocolError

type UnsupportedServerTypeError

type UnsupportedServerTypeError = rpc.UnsupportedServerTypeError

type UnsupportedTypeError

type UnsupportedTypeError = io.UnsupportedTypeError

type ValueDecoder

type ValueDecoder = io.ValueDecoder

type ValueEncoder

type ValueEncoder = io.ValueEncoder

type WeightedRandomLoadBalance

type WeightedRandomLoadBalance = loadbalance.WeightedRandomLoadBalance

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL