Wikia

Indus Communities

Watchlist Recent changes

Callback

The CallBack coordination style differs from the Master Worker style with respect to only one aspect, i.e., the block of business logic written in a CallBack method call is executed only if the result of the callback method call is non erroneous.

Syntax:

	Callback(agent | component.methodName(param_list); variable of 
                                                           method’s return type)
        {
	   // business logic
        }

where,

  • agent and component are instances of type Agent and Component

Unlike the Broadcast, Blackboard/Agenda or Parallel Pipe styles of coordination, using Callback does not identify the responder's role and id since invoking a single, and not multiple or arrays of, agent or component instances is possible in Callback.

public Agent CallbackAgent
{
	public void setValue(int x);
	public int getValue();
	public void incrValue();
}

Definition file : CallbackAgent.indus

public class CallbackClass implements CallbackAgent
{
	Context{
		setServantType("USER");
	}

	public int m_value = 0;

	public int getValue()
	{
		return m_value;
	}

	public void setValue(int v)
	{
		m_value = v;
	}

	public void incrValue()
	{
		m_value++;
	}

	public static void main(String [] args)
	{
		try 
		{
			CallbackClass m = newType CallbackClass("cb1");
			int value = 0;
			Callback(m.getValue();value)
			{
				System.out.println("value = " + value);
			}

			Callback(m.setValue(100);) {}
			Callback(m.getValue();value)
			{
				System.out.println("value = " + value);
			}

			Callback(m.incrValue();) {}
			Callback(m.getValue();value)
			{
				System.out.println("value = " + value);
			}

			Callback(m.incrValue();) {}
			Callback(m.getValue();value)
			{
				System.out.println("value = " + value);
			}
		}
		catch (Exception e) 
		{
			e.printStackTrace();
		}	
	}
}

Implementation file : CallbackClass.indus

Next : Poll

Pages on Indus Communities

Add a Page
48pages on
this wiki
Advertisement | Your ad here

Latest Photos

Add a Photo
2photos on this wiki

Recent Wiki Activity

See more >

Around Wikia's network

Random Wiki