[ Tcllib Home | Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

# deleg_proc(n) 0.3 tcllib "Interpreter utilities"

## Name

deleg_proc - Creation of comm delegates (procedures)

## Synopsis

- package require Tcl 8.5 9
- package require interp::delegate::proc ?0.3?

- ::interp::delegate::proc ?-async? name arguments comm id

## Description

This package provides a single command for the convenient creation of procedures which delegate the actual work to a remote location via a "channel" created by the package comm.

## API

::interp::delegate::proc ?-async? name arguments comm id

  This commands creates a procedure which is named by name and returns its fully-qualified name. All invokations of this procedure will delegate the actual work to the remote location identified by the comm channel comm and the endpoint id.

  The name of the remote procedure invoked by the delegator is [namespace tail name]. I.e., namespace information is stripped from the call.

  Normally the generated procedure marshalls the arguments, and returns the result from the remote procedure as its own result. If however the option -async was specified then the generated procedure will not wait for a result and return immediately.

## Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category interp of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide unified diffs, i.e the output of diff -u.

Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## Keywords

comm, delegation, interpreter, procedure

## Category

Programming tools

## Copyright

Copyright © 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>