Skip to content
Snippets Groups Projects
  • ctiller's avatar
    18b49ab9
    Introducing iomgr. · 18b49ab9
    ctiller authored
    Move eventmanager and platform dependent endpoint functionality into a single
    library called 'iomgr'.
    
    This is primarily to prepare for a Windows port - where posix socket semantics
    lead to poor quality code.
    
    Mostly this is a code movement CL, with some small changes to help prepare the
    way for porting:
    
    - em style fd objects can only be held internally in iomgr, and own their memory
    - added grpc_iomgr_create_endpoint_pair() to accomodate the common pattern of
    creating a tcp endpoint from the output of socketpair - this will help keep
    our tests portable
    - separated em alarm interface into a separate file, as this part of event
    manager is needed higher up the stack
    - made the eventmanager bits a true singleton, simplifying API's across the
    stack as there's no longer a reason to carry a pointer there.
    
    Initial design document is here:
    https://docs.google.com/document/d/1VmafcHvvrP5kwtQkz84R5yXF7u7fW-9Pn0bkSUQHDt8/edit?disco=AAAAARNByxg
    	Change on 2014/12/09 by ctiller <ctiller@google.com>
    -------------
    Created by MOE: http://code.google.com/p/moe-java
    MOE_MIGRATED_REVID=81716456
    18b49ab9
    History
    Introducing iomgr.
    ctiller authored
    Move eventmanager and platform dependent endpoint functionality into a single
    library called 'iomgr'.
    
    This is primarily to prepare for a Windows port - where posix socket semantics
    lead to poor quality code.
    
    Mostly this is a code movement CL, with some small changes to help prepare the
    way for porting:
    
    - em style fd objects can only be held internally in iomgr, and own their memory
    - added grpc_iomgr_create_endpoint_pair() to accomodate the common pattern of
    creating a tcp endpoint from the output of socketpair - this will help keep
    our tests portable
    - separated em alarm interface into a separate file, as this part of event
    manager is needed higher up the stack
    - made the eventmanager bits a true singleton, simplifying API's across the
    stack as there's no longer a reason to carry a pointer there.
    
    Initial design document is here:
    https://docs.google.com/document/d/1VmafcHvvrP5kwtQkz84R5yXF7u7fW-9Pn0bkSUQHDt8/edit?disco=AAAAARNByxg
    	Change on 2014/12/09 by ctiller <ctiller@google.com>
    -------------
    Created by MOE: http://code.google.com/p/moe-java
    MOE_MIGRATED_REVID=81716456