swirl Guide to OmniMark 6   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesOMX VariablesErrors
 
  Related Syntax     Other Library Functions  
function   tcp-sink   Available in:
Professional
Enterprise

Library: omtcp - TCP/IP client and server support
Include: omtcp.xin
Return type: String
Returns:       

Declaration

  define external output function tcp-sink
            value tcp-connection  Connection
    timeout value integer         ms          optional
   protocol value IOProtocol      Protocol    optional
  where
Connection
is an existing tcp-connection object.
ms
is the time to wait for a write operation to complete, expressed in milliseconds.
Protocol
specifies which I/O protocol is to be used.


Purpose

Use tcp-sink to obtain an external output object, permitting writes on the connection.

Requirements

You must include the following line at the beginning of your OmniMark program:

  include "omtcp.xin"

Connection must exist (else external exception TCP05).

Protocol cannot be Single-Packet (else external exception TCP19).

There may not be an active external source derived from Connection with tcp-sink (else external exception TCP20).

Usage Notes

The timeout value applies to individual write operations. External exception TCP06 is thrown if the write operation times out. If a timeout value is not specified, this function blocks until data is written, or until an error occurs.

tcp-sink can be called once or more than once for a connection, but only if called serially. All streams derived from a tcp-sink write to the same output stream attachment, but may each have their own transformation logic and buffering.

Example


  local tcp-connection Connection-1
  local stream s

     set Connection-1 to tcp-connect on "localhost" at 5300
     tcp-set-buffering Connection-1 enabled false

     open s with binary-mode as
        tcp-sink Connection-1
           protocol IOProtocolMultiPacket

     put s ("=" ||* 3048 || "%n") ||* 10
     put s "hello world"
     close s

     repeat
        exit unless tcp-is-connected Connection-1
        output tcp-get Connection-1
     again

    Related Syntax
   tcp-connection
   tcp-disconnect
   tcp-get
   tcp-peer-ip
   tcp-peer-name
   tcp-source
   tcp-has-characters
   tcp-is-connected
   tcp-put
   tcp-connect
   tcp-set-buffering
   tcp-signal-source-end
 
  Other Library Functions
   tcp-accept-connection
   tcp-connect
   tcp-connection
   tcp-create-service
   tcp-destroy-service
   tcp-disconnect
   tcp-get
   tcp-has-characters
   tcp-is-connected
   tcp-is-version-compatible
   tcp-library-version
   tcp-peer-ip
   tcp-peer-name
   tcp-port
   tcp-put
   tcp-service
   tcp-set-buffering
   tcp-signal-source-end
   tcp-sink
   tcp-source
 
----  

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ OMX ] [ ERRORS ]

OmniMark 6.5 Documentation Generated: December 23, 2002 at 6:25:43 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-2002.