module CitrusRpc::RpcClient::Router

Router

Public Instance Methods

ch_route(client, server_type, msg, &block) click to toggle source

Consistent-Hash algorithm for calculating server id

@param [Object] client @param [String] server_type @param [Hash] msg

# File lib/citrus-rpc/rpc-client/router.rb, line 59
def ch_route client, server_type, msg, &block
end
df_route(session, msg, context, &block) click to toggle source

Calculate route info and return an appropriate server id

@param [Object] session @param [Hash] msg @param [Object] context

# File lib/citrus-rpc/rpc-client/router.rb, line 19
def df_route session, msg, context, &block
end
la_route(client, server_type, msg, &block) click to toggle source

Least-Active algorithm for calculating server id

@param [Object] client @param [String] server_type @param [Hash] msg

# File lib/citrus-rpc/rpc-client/router.rb, line 51
def la_route client, server_type, msg, &block
end
rd_route(client, server_type, msg, &block) click to toggle source

Random algorithm for calculating server id

@param [Object] client @param [String] server_type @param [Hash] msg

# File lib/citrus-rpc/rpc-client/router.rb, line 27
def rd_route client, server_type, msg, &block
end
rr_route(client, server_type, msg, &block) click to toggle source

Round-Robin algorithm for calculating server id

@param [Object] client @param [String] server_type @param [Hash] msg

# File lib/citrus-rpc/rpc-client/router.rb, line 35
def rr_route client, server_type, msg, &block
end
wrr_route(client, server_type, msg, &block) click to toggle source

Weight-Round-Robin algorithm for calculating server id

@param [Object] client @param [String] server_type @param [Hash] msg

# File lib/citrus-rpc/rpc-client/router.rb, line 43
def wrr_route client, server_type, msg, &block
end