KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > core > process > MessageSink


1 /*
2 * ################################################################
3 *
4 * ProActive: The Java(TM) library for Parallel, Distributed,
5 * Concurrent computing with Security and Mobility
6 *
7 * Copyright (C) 1997-2002 INRIA/University of Nice-Sophia Antipolis
8 * Contact: proactive-support@inria.fr
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 * USA
24 *
25 * Initial developer(s): The ProActive Team
26 * http://www.inria.fr/oasis/ProActive/contacts.html
27 * Contributor(s):
28 *
29 * ################################################################
30 */

31 package org.objectweb.proactive.core.process;
32
33 public interface MessageSink {
34
35   /**
36    * Returns a new message. The method should block until a message is ready.
37    * null is returned when no more messages are to be produced.
38    * @return the new message
39    */

40   public String JavaDoc getMessage();
41
42   /**
43    * Set a new message to be consumed be getMessage. The method may block if one
44    * or several message(s) have been set before and not yet consumed. This is up
45    * to the implementation.
46    * Setting a null message is the signal that no more message will be produced.
47    * @param message the message to be consumed or null to signal the end of the production
48    */

49   public void setMessage(String JavaDoc message);
50   
51   /**
52    * Returns true is and only if a message is ready to be consumed (the call to getMessage()
53    * won't block). If several threads share this ressource, there is a clear race condition
54    * on the consumption of the message.
55    * @return true is and only if a message is ready to be consumed
56    */

57   public boolean hasMessage();
58   
59   /**
60    * Returns true is and only if messages are still expected to be produced.
61    * It is false after a setMessage is done with a null message.
62    * @return true is and only if messages are still expected to be produced
63    */

64   public boolean isActive();
65 }
66
67
68
69
Popular Tags