view tango/example/cluster/Add.d @ 185:89e21eeaf4c4 trunk

[svn r201] Fixed: return statement could fail codegen with type mismatch for classes, added cast.
author lindquist
date Wed, 07 May 2008 22:27:45 +0200
parents 1700239cab2e
children
line wrap: on
line source

/*******************************************************************************

*******************************************************************************/

public import tango.net.cluster.NetworkCall;


/*******************************************************************************
        
        a Task function

*******************************************************************************/

real add (real x, real y)
{
        return x + y;
}


/*******************************************************************************

        a Task function

*******************************************************************************/

int divide (int x, int y)
{
        return x / y;
}


/*******************************************************************************

        a verbose Task message

*******************************************************************************/

class Subtract : NetworkCall
{
        double  a,
                b,
                result;

        double opCall (double a, double b, IChannel channel = null)
        {
                this.a = a;
                this.b = b;
                send (channel);
                return result;
        }

        override void execute ()
        {
                result = a - b;
        }

        override void read  (IReader input)  {input (a)(b)(result);}

        override void write (IWriter output) {output (a)(b)(result);}
}