org.jacorb.orb.giop

Class ServiceContextTransportingOutputStream

Known Direct Subclasses:
ReplyOutputStream, RequestOutputStream

public class ServiceContextTransportingOutputStream
extends MessageOutputStream

ServiceContextTransportingOutputStream.java Created: Sat Aug 18 12:12:22 2002

Version:
$Id: ServiceContextTransportingOutputStream.java,v 1.20 2004/05/06 12:40:00 nicolas Exp $

Author:
Nicolas Noffke

Field Summary

Fields inherited from class org.jacorb.orb.CDROutputStream

buffer, giop_minor

Constructor Summary

ServiceContextTransportingOutputStream()
OutputStreams created using the empty constructor are used for in memory marshaling, but do not use the ORB's output buffer manager.

Method Summary

void
addServiceContext(ServiceContext ctx)
byte[]
getBody()
private hack...
void
insertMsgSize()
protected void
markHeaderEnd()
GIOP 1.2 requires the message body to start on an 8 byte border, while 1.0/1.1 does not.
void
write_to(GIOPConnection conn)

Methods inherited from class org.jacorb.orb.giop.MessageOutputStream

insertMsgSize, insertMsgSize, writeGIOPMsgHeader, write_to

Methods inherited from class org.jacorb.orb.CDROutputStream

beginEncapsulatedArray, beginEncapsulation, close, create_input_stream, endEncapsulation, finalize, getBufferCopy, getGIOPMinor, increaseSize, orb, reduceSize, reset, setBuffer, setBufferWithoutReset, setCodeSet, setGIOPMinor, size, skip, write, write_IOR, write_Object, write_Principal, write_TypeCode, write_abstract_interface, write_any, write_boolean, write_boolean_array, write_char, write_char_array, write_double, write_double_array, write_fixed, write_float, write_float_array, write_long, write_long_array, write_longlong, write_longlong_array, write_octet, write_octet_array, write_short, write_short_array, write_string, write_ulong, write_ulong_array, write_ulonglong, write_ulonglong_array, write_ushort, write_ushort_array, write_value, write_value, write_value, write_value, write_value, write_wchar, write_wchar_array, write_wstring

Methods inherited from class org.omg.CORBA_2_3.portable.OutputStream

write_abstract_interface, write_value, write_value, write_value, write_value

Methods inherited from class org.omg.CORBA.portable.OutputStream

create_input_stream, orb, write, write_Context, write_Object, write_Principal, write_TypeCode, write_any, write_boolean, write_boolean_array, write_char, write_char_array, write_double, write_double_array, write_fixed, write_fixed, write_float, write_float_array, write_long, write_long_array, write_longlong, write_longlong_array, write_octet, write_octet_array, write_short, write_short_array, write_string, write_ulong, write_ulong_array, write_ulonglong, write_ulonglong_array, write_ushort, write_ushort_array, write_wchar, write_wchar_array, write_wstring

Constructor Details

ServiceContextTransportingOutputStream

public ServiceContextTransportingOutputStream()
OutputStreams created using the empty constructor are used for in memory marshaling, but do not use the ORB's output buffer manager. A stream created with this c'tor is not explicitly configured, i.e. it will use default configuration only

Method Details

addServiceContext

public void addServiceContext(ServiceContext ctx)


getBody

public byte[] getBody()
private hack...


insertMsgSize

public void insertMsgSize()
Overrides:
insertMsgSize in interface MessageOutputStream


markHeaderEnd

protected void markHeaderEnd()
GIOP 1.2 requires the message body to start on an 8 byte border, while 1.0/1.1 does not. Additionally, this padding shall only be performed, if the body is not empty (which we don't know at this stage.


write_to

public void write_to(GIOPConnection conn)
            throws IOException
Overrides:
write_to in interface MessageOutputStream