342 lines
17 KiB
HTML
Raw Permalink Normal View History

2019-05-13 16:45:05 +04:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_07) on Fri Mar 13 20:01:00 CET 2009 -->
<TITLE>
Processor (Rice Pastry - API Specifications)
</TITLE>
<META NAME="date" CONTENT="2009-03-13">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Processor (Rice Pastry - API Specifications)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Processor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../rice/environment/processing/WorkRequest.html" title="class in rice.environment.processing"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/environment/processing/Processor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Processor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
rice.environment.processing</FONT>
<BR>
Interface Processor</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../rice/Destructable.html" title="interface in rice">Destructable</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../rice/environment/processing/simple/SimpleProcessor.html" title="class in rice.environment.processing.simple">SimpleProcessor</A>, <A HREF="../../../rice/environment/processing/sim/SimProcessor.html" title="class in rice.environment.processing.sim">SimProcessor</A>, <A HREF="../../../rice/environment/processing/simple/UnifiedProcessor.html" title="class in rice.environment.processing.simple">UnifiedProcessor</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>Processor</B><DT>extends <A HREF="../../../rice/Destructable.html" title="interface in rice">Destructable</A></DL>
</PRE>
<P>
Provides a mechanism to do time consuming tasks off of FreePastry's selecto thread.
Usually acquired by calling environment.getProcessor().
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Jeff Hoye</DD>
</DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/environment/processing/Processor.html#destroy()">destroy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shuts down the processing thread.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;R,E extends java.lang.Exception&gt;
<BR>
<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/environment/processing/Processor.html#process(rice.Executable, rice.Continuation, int, rice.selector.SelectorManager, rice.environment.time.TimeSource, rice.environment.logging.LogManager)">process</A></B>(<A HREF="../../../rice/Executable.html" title="interface in rice">Executable</A>&lt;R,E&gt;&nbsp;task,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&lt;R,E&gt;&nbsp;command,
int&nbsp;priority,
<A HREF="../../../rice/selector/SelectorManager.html" title="class in rice.selector">SelectorManager</A>&nbsp;selector,
<A HREF="../../../rice/environment/time/TimeSource.html" title="interface in rice.environment.time">TimeSource</A>&nbsp;ts,
<A HREF="../../../rice/environment/logging/LogManager.html" title="interface in rice.environment.logging">LogManager</A>&nbsp;log)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schedules a job for processing on the dedicated processing thread.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;R,E extends java.lang.Exception&gt;
<BR>
<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/environment/processing/Processor.html#process(rice.Executable, rice.Continuation, rice.selector.SelectorManager, rice.environment.time.TimeSource, rice.environment.logging.LogManager)">process</A></B>(<A HREF="../../../rice/Executable.html" title="interface in rice">Executable</A>&lt;R,E&gt;&nbsp;task,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&lt;R,E&gt;&nbsp;command,
<A HREF="../../../rice/selector/SelectorManager.html" title="class in rice.selector">SelectorManager</A>&nbsp;selector,
<A HREF="../../../rice/environment/time/TimeSource.html" title="interface in rice.environment.time">TimeSource</A>&nbsp;ts,
<A HREF="../../../rice/environment/logging/LogManager.html" title="interface in rice.environment.logging">LogManager</A>&nbsp;log)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schedules a job for processing on the dedicated processing thread.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/environment/processing/Processor.html#processBlockingIO(rice.environment.processing.WorkRequest)">processBlockingIO</A></B>(<A HREF="../../../rice/environment/processing/WorkRequest.html" title="class in rice.environment.processing">WorkRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schedules a different type of task.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="process(rice.Executable, rice.Continuation, rice.selector.SelectorManager, rice.environment.time.TimeSource, rice.environment.logging.LogManager)"><!-- --></A><H3>
process</H3>
<PRE>
&lt;R,E extends java.lang.Exception&gt; <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>process</B>(<A HREF="../../../rice/Executable.html" title="interface in rice">Executable</A>&lt;R,E&gt;&nbsp;task,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&lt;R,E&gt;&nbsp;command,
<A HREF="../../../rice/selector/SelectorManager.html" title="class in rice.selector">SelectorManager</A>&nbsp;selector,
<A HREF="../../../rice/environment/time/TimeSource.html" title="interface in rice.environment.time">TimeSource</A>&nbsp;ts,
<A HREF="../../../rice/environment/logging/LogManager.html" title="interface in rice.environment.logging">LogManager</A>&nbsp;log)</PRE>
<DL>
<DD>Schedules a job for processing on the dedicated processing thread. CPU intensive jobs, such
as encryption, erasure encoding, or bloom filter creation should never be done in the context
of the underlying node's thread, and should only be done via this method. The continuation will
be called on the Selector thread.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>task</CODE> - The task to run on the processing thread<DD><CODE>command</CODE> - The command to return the result to once it's done</DL>
</DD>
</DL>
<HR>
<A NAME="process(rice.Executable, rice.Continuation, int, rice.selector.SelectorManager, rice.environment.time.TimeSource, rice.environment.logging.LogManager)"><!-- --></A><H3>
process</H3>
<PRE>
&lt;R,E extends java.lang.Exception&gt; <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>process</B>(<A HREF="../../../rice/Executable.html" title="interface in rice">Executable</A>&lt;R,E&gt;&nbsp;task,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&lt;R,E&gt;&nbsp;command,
int&nbsp;priority,
<A HREF="../../../rice/selector/SelectorManager.html" title="class in rice.selector">SelectorManager</A>&nbsp;selector,
<A HREF="../../../rice/environment/time/TimeSource.html" title="interface in rice.environment.time">TimeSource</A>&nbsp;ts,
<A HREF="../../../rice/environment/logging/LogManager.html" title="interface in rice.environment.logging">LogManager</A>&nbsp;log)</PRE>
<DL>
<DD>Schedules a job for processing on the dedicated processing thread. CPU intensive jobs, such
as encryption, erasure encoding, or bloom filter creation should never be done in the context
of the underlying node's thread, and should only be done via this method. The continuation will
be called on the Selector thread. Passes a priority that will be respected if possible.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>priority</CODE> - lower number is higher priority, 0 is default priority, and negative numbers are high priority<DD><CODE>task</CODE> - The task to run on the processing thread<DD><CODE>command</CODE> - The command to return the result to once it's done</DL>
</DD>
</DL>
<HR>
<A NAME="processBlockingIO(rice.environment.processing.WorkRequest)"><!-- --></A><H3>
processBlockingIO</H3>
<PRE>
<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>processBlockingIO</B>(<A HREF="../../../rice/environment/processing/WorkRequest.html" title="class in rice.environment.processing">WorkRequest</A>&nbsp;request)</PRE>
<DL>
<DD>Schedules a different type of task. This thread is for doing Disk IO that is required to be blocking.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - </DL>
</DD>
</DL>
<HR>
<A NAME="destroy()"><!-- --></A><H3>
destroy</H3>
<PRE>
void <B>destroy</B>()</PRE>
<DL>
<DD>Shuts down the processing thread.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/Destructable.html#destroy()">destroy</A></CODE> in interface <CODE><A HREF="../../../rice/Destructable.html" title="interface in rice">Destructable</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Processor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../rice/environment/processing/WorkRequest.html" title="class in rice.environment.processing"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/environment/processing/Processor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Processor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2005 - Rice Pastry.</i>
</BODY>
</HTML>