MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Networking Services Library Functions           rpccontrol(3NSL)



NAME
     rpccontrol - library routine for  manipulating  global  RPC
     attributes for client and server applications

SYNOPSIS
     boolt rpccontrol(int op, void *info);


DESCRIPTION
     This RPC library routine  allows  applications  to  set  and
     modify  global  RPC attributes that apply to clients as well
     as servers.  At present, it supports only server side opera-
     tions.  This  function allows applications to set and modify
     global attributes that apply to client  as  well  as  server
     functions. op indicates the type of operation, and info is a
     pointer to the operation specific information. The supported
     values of op and their argument types, and what they do are:

       RPCSVCMTMODESET       int *     set multithread mode
       RPCSVCMTMODEGET       int *     get multithread mode
       RPCSVCTHRMAXSET       int *     set maximum number of threads
       RPCSVCTHRMAXGET       int *     get maximum number of threads
       RPCSVCTHRTOTALGET     int *     get number of active threads
       RPCSVCTHRCREATESGET   int *     get number of threads created
       RPCSVCTHRERORSGET    int *     get number of thread create errors
       RPCSVCUSEPOLFD       int *     set number of file descriptors to unlimited
       RPCSVCONMAXRECSET   int *  set non-blocking max rec size
       RPCSVCONMAXRECGET   int *  get non-blocking max rec size



     There are three multithread (MT) modes.  These are:

       RPCSVCMTNONE     Single threaded mode     (default)
       RPCSVCMTAUTO     Automatic MT mode
       RPCSVCMTUSER     User MT mode



     Unless the application sets the Automatic or User MT  modes,
     it will stay in the default (single threaded) mode.  See the
     Network Interfaces Programmer's Guide for  the  meanings  of
     these  modes  and programming examples.  Once a mode is set,
     it cannot be changed.


     By default, the maximum number of threads  that  the  server
     will  create  at  any  time  is 16.  This allows the service
     developer to put a bound on thread resources consumed  by  a
     server.   If  a  server needs to process more than 16 client
     requests concurrently, the maximum number of threads must be
     set to the desired number.  This parameter may be set at any



SunOS 5.11          Last change: 24 Feb 1999                    1






Networking Services Library Functions           rpccontrol(3NSL)



     time by the server.


     Set and get operations will succeed even in modes where  the
     operations  don't  apply.  For example, you can set the max-
     imum number of threads in any mode,  even  though  it  makes
     sense  only for the Automatic MT mode. All of the get opera-
     tions except RPCSVCMTMODEGET apply only to the  Automatic
     MT mode, so values returned in other modes may be undefined.


     By default, RPC servers are limited to  a  maximum  of  1024
     file  descriptors  or  connections due to limitations in the
     historical       interfaces        svcfdset(3NSL)       and
     svcgetreqset(3NSL).  Applications  written  to use the pre-
     ferred     interfaces      of      svcpollfd(3NSL)      and
     svcgetreqpoll(3NSL)  can  use  an unlimited number of file
     descriptors. Setting info to point to a non-zero integer and
     op to RPCSVCUSEPOLFD removes the limitation.


     Connection oriented RPC  transports  read  RPC  requests  in
     blocking  mode  by  default.  Thus,  they  may  be adversely
     affected   by   network   delays   and    broken    clients.
     RPCSVCONMAXRECSET  enables non-blocking mode and estab-
     lishes the maximum record size (in bytes) for RPC  requests;
     RPC responses are not affected. Buffer space is allocated as
     needed up to the specified maximum, starting at the  maximum
     or RPCMAXDATASIZE, whichever is smaller.


     The value established by RPCSVCONMAXRECSET is used when
     a  connection  is created, and it remains in effect for that
     connection until it is  closed.  To  change  the  value  for
     existing   connections   on   a  per-connection  basis,  see
     svccontrol(3NSL).


     RPCSVCONMAXRECGET retrieves the current maximum  record
     size.  A  zero value means that no maximum is in effect, and
     that the connections are in blocking mode.


     info is a pointer to an argument of type int. Non-connection
     RPC    transports    ignore    RPCSVCONMAXRECSET    and
     RPCSVCONMAXRECGET.

RETURN VALUES
     This routine returns TRUE if the  operation  was  successful
     and returnsFALSE otherwise.





SunOS 5.11          Last change: 24 Feb 1999                    2






Networking Services Library Functions           rpccontrol(3NSL)



ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     rpcbind(1M), rpc(3NSL), rpcsvccalls(3NSL), attributes(5)


     Network Interfaces Programmer's Guide





































SunOS 5.11          Last change: 24 Feb 1999                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™