space Baylys
Just practicing to pass the Turing test.
space
space
space
space
Developer for Hire!
space
addedValues Plugin
space

Home

What's new

Bayly.Root

Cornershop Plugin

Career

edutools Root

Enhancements

Interests

linguist Plugin

Manila

Patches

space

mainresponder

manilaData

manilamacros

manilaSuite

system

space
space

agents

verbs

space
space

apps

builtins

space
space

betty

space
space

rpc

space
space

client

space

export

html

rootUpdates

table

webserver

Patches by Group

Papers

Sales

Sign My Guestbook

User(land) Relations.

Contact Address

Search Baylys

urlchains

space
Join Now
Login
space space space

system.verbs.builtins.betty.rpc.client

RPC from a host to itself is excruciatingly slow. This seems to be because the conversion of the request into and back out of XML is a very high cost operation. This change renames betty.rpc.client to betty.rpc.clientSlow and subsitutes a smarter script that avoids the XML stages if the "remote" host is actually local. Otherwise, the normal path is taken

I wish Userland would ship this change, but do not expect it ever will.

Amended script :

on client (rpcServer="localhost", rpcPort=user.inetd.config.http.port, procedureName="", adrparamlist=nil, fldebug=false, ticksToTimeOut=nil, flShowMessages=true, rpcPath=nil, flAsynch=false, adrCallback=nil, extraInfo=nil, adrErrorCallback=nil, username="", password="")
  «Change
 unaltered lines omitted
 
  local (startticks = clock.ticks ())
  betty.init () //1/17/99 DW, make sure user.betty.prefs is set up
 
  bundle //3/6/99 DW, handle asynchronous calls
  bundle //1/17/99 DW, check ticksToTimeOut, rpcPath
  local (xmltext = "")
  bundle //build the XML request
 
  local (xtable)
  bundle //send the HTTP request, store result in xtable
 
  local (returnedValue, adrtable)
  try //walk the response structure, get returnedValue
 unaltered lines omitted
  else //scriptError
 unaltered lines omitted
 
  bundle //track ticks, by procedure call in system.temp.betty.clientCallTicks
  return (returnedValue)
«bundle //test code
  «local (params = {"Dave's Handsome Radio Blog", "http://radio.weblogs.com/0001015/"})
  «scratchpad.response = betty.rpc.client ("rpc.weblogs.com", 80, "weblogUpdates.ping", @params)

Relative to Frontier version 9.7b10

,